- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
第一次创建MPMoviePlayerController(如theMovie)时,可以成功设置其initialPlaybackTime。但是当释放 theMoive 并重新创建一个新的 MPMoviePlayerController 时,它的 intialPlaybackTime 无法正确设置,实际上电影总是从头开始播放。代码如下。
-(void)initAndPlayMovie:(NSURL *)movieURL
{
MPMoviePlayerController *theMovie = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
// create a notification for moviePlaybackFinish
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:theMovie];
theMovie.initialPlaybackTime = 15;
[theMovie setScalingMode:MPMovieScalingModeAspectFill];
[theMovie play];}
-(void) moviePlayBackDidFinish:(NSNotification*)notification
{
MPMoviePlayerController * theMovie = [notification object];
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:theMovie];
[theMovie release];
[self initAndPlayMovie:[self getMovieURL]];
}
使用上面的代码,当 viewcontroller 确实加载并运行 initAndPlayMovie 时,电影从 15 秒开始播放,但是当播放完成或按下“完成”时,将创建一个新的 theMovie 并从 0 秒开始播放.有人知道 MPMoviePlayerController 的 initialPlaybackTime 属性发生了什么吗?
并且每当您重新加载上面代码所在的 viewController(来自父 viewcontroller 的 presentModalViewController)时,电影可以从任何播放时间开始。我真的很困惑 MPMoviePlayerController 注册方法在 View Controller 加载和发布后重新创建它之间有什么区别。
最佳答案
问题已解决!只需一步即可正确设置 initialPlaybackTime。
释放movieplayer后,需要延迟1秒才能再次开始播放。确保电影播放器已完全释放。
我花了 3 天时间才弄清楚这个问题。但现在我的问题是如何检测电影播放器是否已完全释放,而不是等待一秒钟。
关于ios - 第二次重新创建 MPMoviePlayerController 时设置 initialPlaybackTime 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2971695/
我在我的应用程序中使用了 MPMoviePlayerViewController,我试图通过遍历 View Controller 的 moviePlayer 属性来设置初始播放时间,然后像这样设置初始
第一次创建MPMoviePlayerController(如theMovie)时,可以成功设置其initialPlaybackTime。但是当释放 theMoive 并重新创建一个新的 MPMovie
设置 initialPlaybackTime 属性后,视频(HTTP 流)仍然从头开始播放。 相同的代码在 iOS <= 8.3 中运行良好: self.moviePlayer.initialPla
假设一部电影时长 10 分钟,我正在设置 initialPlaybackTime到 1 分钟标记,如下所示: NSString *urlStr = @"http:///vod_movie.m3u8";
我是一名优秀的程序员,十分优秀!