首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AirPlay支持、MPMoviePlayerController和MPVolumeView关系

AirPlay支持、MPMoviePlayerController和MPVolumeView关系
EN

Stack Overflow用户
提问于 2011-04-20 13:19:08
回答 4查看 7.3K关注 0票数 14

我正在开发一个支持视频播放的iPhone应用程序。我使用MPMoviePlayerController和自定义控件来播放视频。为此,我将MPMoviePlayerController的控件样式设置为MPMovieControlStyleNone。

我想支持AirPlay功能的视频正在播放。根据文档,我们必须将MPMoviePlayerController的‘MPMoviePlayerController’属性设置为YES,以启用AirPlay特性。如果我使用带有自定义控件的AirPlay,如何在播放机UI上显示MPMoviePlayerController按钮?

我尝试了以下几点:

MPVolumeView

  • Set
  1. 实例化MPVolumeView的showsRouteButton和showsVolumeSlider属性为NO,以隐藏音量滑块和路由按钮
  2. 添加了MPVolumeView在我的自定义播放器视图

我还没有给出MPVolumeView和MPMoviePlayerController之间的参考。但是,如果将“allowsAirPlay”of MPMoviePlayerController设置为“是”,则AirPlay按钮将显示在MPVolumeView上。MPVolumeView和MPMoviePlayerController有什么关系?这两个独立创建的类之间有什么联系?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-08-08 21:03:50

因为MPMoviePlayerController一次只允许播放一个视频,所以MediaPlayer框架总是知道正在播放的视频。MPVolumeView就是这样知道MPMoviePlayerController的。我没有正式的文档,但我想它是以这种方式进入框架的。

由于可能有很多的制衡(而且他们喜欢一致的UI),苹果只允许你使用他们的AirPlay按钮/UI来利用这个特性。然而,你可以把按钮放在任何你想要的地方:

代码语言:javascript
复制
airplayButton = [[MPVolumeView alloc] init];
airplayButton.frame = CGRectMake(myX, myY, 40, 40);
[airplayButton setShowsVolumeSlider:NO];
[customPlayerControls.view addSubview:airplayButton];

我只是猜到了宽度,高度是40,40,我相信这是不正确的,但一旦我得到按钮的位置,这并不重要。

票数 10
EN

Stack Overflow用户

发布于 2011-06-03 08:07:44

代码语言:javascript
复制
for (UIButton *button in volumeView.subviews) {
if ([button isKindOfClass:[UIButton class]]) {
    [button setImage:[UIImage imageNamed:@"custom-route-button.png"] forState:UIControlStateNormal];
    [button sizeToFit];
}}

我想这会对你有帮助。

票数 2
EN

Stack Overflow用户

发布于 2012-02-25 19:27:49

MPVolumeView有一个属性来隐藏卷滑块并显示路由按钮。因此,没有必要遍历隐藏的视图。

代码语言:javascript
复制
MPVolumeView *volumeView = [[[MPVolumeView alloc] initWithFrame:myContainerView.bounds] autorelease];
volumeView.showsVolumeSlider = NO;
volumeView.showsRouteButton = YES;
[myContainerView addSubview:volumeView];

AirPlay (路由)按钮的位置可能与您预期的不一样,因此您可能需要稍微播放容器视图的框架,才能将其放到您想要的位置。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5730973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档