设置 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 的方向的主要内容,如果未能解决你的问题,请参考以下文章

时钟设置在哪里设置?

QGIS基本设置和项目设置

短视频运营短视频剪辑 ⑤ ( 视频素材使用 | 设置插入后的视频素材属性 | 设置画面 | 设置音频 | 设置变速 | 设置动画 | 设置调节 )

SeeMusicMIDI 编辑功能 ( 速度设置 | SoundFont 音源设置 | 混响强度设置 | 混响时间设置 | 力度增益设置 | 实时 MIDI 设置 )

win10设置里的代理怎么设置

强制恢复出厂设置?