自定义视图上的 AirPlay 按钮

Posted

技术标签:

【中文标题】自定义视图上的 AirPlay 按钮【英文标题】:AirPlay button on custom view 【发布时间】:2011-03-15 11:59:42 【问题描述】:

4.3 终于 :) 我现在正在搜索如何将空中播放按钮添加到自定义视图。我有加载电影的 MPMoviePlayer。我禁用了标准控件并使用自定义播放、暂停、停止、音量按钮添加了覆盖视图。 如果有人知道如何添加将播放的按钮,请分享知识? 我找不到要发送什么通知,要收听什么...:(

【问题讨论】:

终于找到了办法。我已经编辑了我的答案。希望对您有所帮助。 【参考方案1】:

如果您只想要不带音量滑块的 AirPlay 按钮,请按照 Jilouc 回答中的说明操作,然后在 myVolumeView 上设置以下属性:

[myVolumeView setShowsVolumeSlider:NO];
[myVolumeView setShowsRouteButton:YES];

这将隐藏音量滑块但保留路线按钮。

【讨论】:

【参考方案2】:

编辑似乎我在之前的回答中被误导了,因为该设备没有运行已发布的 ios 4.3 版本。

有一种方法可以在自定义界面上提供 AirPlay 按钮。 使用 MPVolumeView 并将其添加到您的视图层次结构中

MPVolumeView *myVolumeView =
[[MPVolumeView alloc] initWithFrame: overlayView.bounds];
[overlayView addSubview: myVolumeView];
[myVolumeView release];

MPVolumeView 提供音量滑块和路由按钮(见下图)。但我认为不可能只显示按钮。

【讨论】:

我现在没有 AppleTV,但我会尽快对其进行测试。我迫不及待地想看到这个功能 :) developer.apple.com/library/ios/#documentation/mediaplayer/… 这里也有关于 VolumeView 的解释。谢谢 它对我不起作用。该按钮已显示,但当我单击 AppleTV 按钮时不执行任何操作。有什么想法吗? 记得在项目的 Build Phases 中的“Link Binary With Libraries”部分下添加“MediaPlayer.framework”。否则你只会看到空白视图。 对不起,我知道这是一个老问题。但是可以通过使用 - [MPVolumeView setShowsVolumeSlider:NO]; 只显示没有滑块的按钮 如果你没有AppleTV,你应该可以在Mac上使用AirServer之类的应用程序吗?【参考方案3】:

在Documentation Apple 中还包含一个 sn-p:

MPVolumeView *volumeView = [ [MPVolumeView alloc] init] ;
[volumeView setShowsVolumeSlider:NO];
[volumeView sizeToFit];
[view addSubview:volumeView];

【讨论】:

以上是关于自定义视图上的 AirPlay 按钮的主要内容,如果未能解决你的问题,请参考以下文章

剑道树视图Angularjs上的自定义按钮

是否无法在 UITableViewCell 上的删除操作(滑动按钮)中使用自定义视图?

需要帮助在Android中使用多个按钮自定义视图

UITableView 原型单元上的自定义附件视图未触发

单击自定义按钮时如何创建视图

Android:从自定义列表视图中单击的按钮获取列表视图项目