0

我对 iOS 开发很陌生,所以不知道这是否是一个已知问题,或者我为什么会看到这个问题。我的应用程序中有一个屏幕,可以一遍又一遍地播放视频。在上一个屏幕上,用户通过按下不同的按钮来选择哪个视频,这些按钮设置处理播放视频的屏幕的视图控制器的 videoURL 属性。这就是 viewDidLoad 方法的样子:

- (void)viewDidLoad
{
    [super viewDidLoad];
    player = [[MPMoviePlayerController alloc] initWithContentURL: self.videoURL];
    player.repeatMode=MPMovieRepeatModeOne;
    player.controlStyle =MPMovieControlStyleNone;
    [player prepareToPlay];
    [player.view setFrame: self.videoView.bounds];  // player's frame must match parent's
    [self.videoView addSubview: player.view];
    [player play];
}

这在模拟器中效果很好。视频按预期循环播放。但是一旦我将它部署在某些硬件上,它就不会循环播放,只播放一次。我在两款不同的 iPhone 4 上试用过,一款是 iOS 6.1.3,另一款是 iOS 7.0.3。

任何想法为什么我会看到这种行为?

编辑: 我注意到这段代码在 iPhone5 硬件上按预期工作,但在 iPhone4 硬件上却没有。无法在 iPhone4S 或任何新的 5s 或 5c 上进行测试。

4

2 回答 2

0

试试这个,可能对你有帮助。

player = [[MPMoviePlayerViewController alloc]
          initWithContentURL:[NSURL fileURLWithPath:path]];
player.moviePlayer.repeatMode = MPMovieRepeatModeOne;

或查看以下链接

MPMoviePlayerController:如何让我的视频循环播放?

于 2013-11-06T12:16:41.337 回答
0

我可以确认这只发生在旧手机上。我在 iPhone 4 上遇到过同样的问题,因为 5 和 5S 似乎重复得很好。我听说这可能是内存问题(因为没有内存,所以无法播放),但在 iPhone4 上,我拥有的已经绰绰有余了。

还尝试通过它们的访问器方法设置值,而不是直接访问它们而没有运气。

这可能是硬件问题,因为 iPhone 4 运行的操作系统版本与 iPhone 5 相同。

于 2014-04-02T10:47:13.157 回答