【问题标题】:unable to play video in iOS 4无法在 iOS 4 中播放视频
【发布时间】:2010-07-27 08:18:19
【问题描述】:

我已经编写了在 iPhone OS 3.1.3 中播放视频的代码,并且视频播放正常。

但是当我尝试使用相同的代码播放视频时,视频在 iOS 4 中无法播放。

我知道媒体播放器框架已针对 iOS 4 进行了更改。有什么方法可以在不同的操作系统上播放视频而无需准备单独的二进制文件??

【问题讨论】:

    标签: ios ios4 media-player


    【解决方案1】:

    首先检查您是否在 OS 3.2 或更高版本上。如果是,请以新方式创建电影播放器​​:

    if (NSClassFromString(@"UISplitViewController") != nil) {
      MPMoviePlayerViewController *mp = [[MPMoviePlayerViewController alloc] initWithContentURL:yourURL];
      [[mp moviePlayer] prepareToPlay];
      [[mp moviePlayer] setShouldAutoplay:YES];
      [[mp moviePlayer] setControlStyle:2];
      [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoPlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
      [self presentMoviePlayerViewControllerAnimated:mp];
    } else {
      moviePlayer=[[MPMoviePlayerController alloc] initWithContentURL:yourURL];
      [self playMovieTheOldWay:moviePlayer];
    }
    

    您可以像这样关闭新的电影播放器​​:

    -(void)videoPlayBackDidFinish:(NSNotification*)notification
    {       
      [self dismissMoviePlayerViewControllerAnimated];
    }
    

    【讨论】:

    • 感谢您的回复。在这种情况下,我必须使用哪个 sdk 编译应用程序??
    • “新媒体播放器”是 3.2 自带的,所以你需要 3.2 或更高版本来编译它。您不能将新媒体播放器与旧 sdk 一起使用。
    • 如果我针对 SDK 3.2 及更高版本编译应用程序,那么此应用程序是否会在 3.1.3 上运行??
    • 如果您将部署目标设置为 3.1,即使使用 4.0 链接和构建,它也可以工作(只有新方法不起作用 - 像 movieplayerviewcontroller,在 3.2 之前不存在)。
    • 感谢我能够在 OS 3.1.3 和 OS 4.0 上运行具有上述实现的应用程序。非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-13
    • 1970-01-01
    • 2015-11-19
    • 2020-03-04
    • 1970-01-01
    相关资源
    最近更新 更多