设置 MPMoviePlayerController 的方向
Posted
技术标签:
【中文标题】设置 MPMoviePlayerController 的方向【英文标题】:Set orientation of MPMoviePlayerController 【发布时间】:2014-10-08 13:03:37 【问题描述】:我的整个应用程序仅处于纵向模式,我正在我的应用程序中播放 youtube 视频。对于你管我正在使用 UIWebview。当用户单击 UIWebview 中的播放按钮时,它会自动启动 MPMoviePlayerController。所以我没有声明任何 MPMoviePlayerController 对象。所以我希望 MPMoviePlayerController 支持纵向和横向。所以请建议。
【问题讨论】:
看到这个问题***.com/questions/25967615/… 【参考方案1】:如果您使用NavigationController
,您可以将其子类化并执行以下操作:
#import "MainNavigationController.h"
#import <MediaPlayer/MediaPlayer.h>
@implementation MainNavigationController
-(BOOL)shouldAutorotate
return YES;
-(NSUInteger)supportedInterfaceOrientations
if ([[[self.viewControllers lastObject] presentedViewController] isKindOfClass:[MPMoviePlayerViewController class]])
return UIInterfaceOrientationMaskAll;
else
return UIInterfaceOrientationMaskPortrait;
@end
然后您应该将您的应用设置为支持所有方向,并且此代码仅在播放您的电影“MPMoviePlayerController”时才允许更改方向。
调用movie
时,您应该发送通知,因此如果用户以portrait
以外的任何方向关闭它,它会切换回portrait
。
类似这样的:
- (IBAction)playButton:(id)sender
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlaybackDidFinish)
name:MPMoviePlayerPlaybackDidFinishNotification
object:self.player.moviePlayer];
NSURL *url = [NSURL URLWithString:videoUrl];
self.player = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
self.player.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
[self presentMoviePlayerViewControllerAnimated:self.player];
-(void)moviePlaybackDidFinish
[[UIDevice currentDevice] setValue:
[NSNumber numberWithInteger: UIInterfaceOrientationPortrait]
forKey:@"orientation"];
这应该为你做,让我知道它是怎么回事。
【讨论】:
以上是关于设置 MPMoviePlayerController 的方向的主要内容,如果未能解决你的问题,请参考以下文章
短视频运营短视频剪辑 ⑤ ( 视频素材使用 | 设置插入后的视频素材属性 | 设置画面 | 设置音频 | 设置变速 | 设置动画 | 设置调节 )
SeeMusicMIDI 编辑功能 ( 速度设置 | SoundFont 音源设置 | 混响强度设置 | 混响时间设置 | 力度增益设置 | 实时 MIDI 设置 )