【问题标题】:How To Rotate An MPMoviePlayerController如何旋转 MPMoviePlayerController
【发布时间】:2010-06-10 23:14:13
【问题描述】:

我正在构建一个 iPhone 应用程序,它可以根据网络服务点播视频。

视频在 MPMoviePlayerController 中播放,在 iPhone 设备上一切正常。

但是,当您在 iPad 上加载 iPhone 应用程序时,视频会播放纵向模式(顶部和底部带有信箱),而不是像在 iPhone 上那样向左横向显示。

起初视频根本没有出现,但是我通过将 MPMoviePlayerControllers 视图添加到创建它的视图中来解决这个问题,作为子视图,然后将其设置为全屏播放。

--

编辑为原件:

我现在可以在 iPad 上旋转播放它。有什么方法可以阻止它旋转,让它播放 LandscapeLeft?

谢谢, 德维恩

【问题讨论】:

    标签: iphone ipad orientation mpmovieplayercontroller


    【解决方案1】:

    iPad 应用程序应该支持所有四种界面方向。

    编辑:我还没有找到要引用的官方文档。可能很简单,iPad 应用程序应该能够在所有方向启动,但如果“合理”,您可以强制某些位为横向。 Apple 是否拒绝您的应用是另一个问题,但我认为他们不太可能拒绝横向播放视频的视频应用。

    经过一些实验,以下似乎可行:

    @interface MyMovieViewController : MPMoviePlayerViewController
    @end
    
    @implementation MyMovieViewController
    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
    {
        return UIInterfaceOrientationIsLandscape(toInterfaceOrientation);
    }
    
    @end
    

    然后只实例化 MyMovieViewController 而不是 MPMoviePlayerViewController。

    编辑 2: MPMoviePlayerViewController 与 MPMoviePlayerController 不同;您使用它来获取 2.0-3.1 MPMoviePlayerController 的行为。您需要将视图控制器添加到 VC 层次结构中,但它非常简单(而且比搞乱视图转换要容易得多):

    MPMoviePlayerViewController * vc = [[MyMovieViewController alloc] initWithContentURL:aUrl];
    [self presentMoviePlayerViewControllerAnimated:vc];
    [vc.moviePlayer play];
    

    【讨论】:

    • 感谢您的提醒!我现在必须尝试向客户解释这一点(他们要求它是他们想要的 -_-")
    【解决方案2】:

    我发现这种方式只是有用,但设置所需的框架需要时间-

    theMovie=[[MPMoviePlayerController alloc] initWithContentURL:theURL]; 
    // Rotate the view for landscape playback   
    [[theMovie view] setBounds:CGRectMake(-230, 155, 480, 350)];
    [[theMovie view] setTransform:CGAffineTransformMakeRotation(M_PI / 2)]; 
    

    【讨论】:

    • [[theMovie view] setTransform:CGAffineTransformMakeRotation(M_PI / 2)]; 为我做了。我还将 M_PI / 2 更改为 M_PI_2
    【解决方案3】:

    这里也修复了 iPad 横屏问题的问题(请参阅链接),如果不同,您会很想知道您做了什么来修复它。

    link to thread

    【讨论】:

      猜你喜欢
      • 2012-01-15
      • 1970-01-01
      • 2013-09-13
      • 1970-01-01
      • 2011-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多