Ios “MPMoviePlayerController”的“初始播放时间”不工作
我正在尝试用MPMovieplayercontroller播放一部电影。除了最初的播放时间,一切都很好。玩家不是从给定的秒开始玩,而是从开始玩 如何让初始播放时间开始工作Ios “MPMoviePlayerController”的“初始播放时间”不工作,ios,mpmovieplayercontroller,mpmoviewcontroller,Ios,Mpmovieplayercontroller,Mpmoviewcontroller,我正在尝试用MPMovieplayercontroller播放一部电影。除了最初的播放时间,一切都很好。玩家不是从给定的秒开始玩,而是从开始玩 如何让初始播放时间开始工作 -(void)viewDidLoad { [super viewDidLoad]; NSString *moviePath= [[NSBundle mainBundle] pathForResource:@"02_Skater" ofType:@"mp4"]; NSURL *url = [NSURL f
-(void)viewDidLoad
{
[super viewDidLoad];
NSString *moviePath= [[NSBundle mainBundle] pathForResource:@"02_Skater" ofType:@"mp4"];
NSURL *url = [NSURL fileURLWithPath:moviePath] ;
// video player
playerViewController = [[MPMoviePlayerController alloc] init];
playerViewController.contentURL = url;
playerViewController.view.frame = CGRectMake(0, 200, 300, 300);
playerViewController.scalingMode = MPMovieScalingModeAspectFit;
playerViewController.initialPlaybackTime = 3;
playerViewController.endPlaybackTime = 4;
playerViewController.controlStyle=MPMovieControlStyleNone;
[playerViewController prepareToPlay];
[playerViewController play];
[[self view] addSubview: [playerViewController view]];
// Do any additional setup after loading the view, typically from a nib.
}
如果您查看Apple文档,您可以阅读:
对于视频点播内容,播放从距离提供时间最近的段边界开始。iOS 8.4之后的新更新存在这些问题,并且这些错误在新的iOS 9.0中仍然存在 目前,我已经找到了一个解决方案,它仍然不完整,因为您仍然无法设置视频的结束时间。此解决方案如何帮助您设置初始播放时间 首先在mediaPLayer中添加一个观察者
//Add Observer
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayerPlaybackStateChanged:)
name:MPMoviePlayerPlaybackStateDidChangeNotification
object:mediaPlayerController];
并编写此通知方法
BOOL playbackDurationSet=NO;
-(void)moviePlayerPlaybackStateChanged:(NSNotification*)notification{
MPMoviePlayerController* player = (MPMoviePlayerController*)notification.object;
switch ( player.playbackState ) {
case MPMoviePlaybackStatePlaying:
if(!playbackDurationSet){
[mediaPlayerController setCurrentPlaybackTime:player.initialPlaybackTime];
playbackDurationSet=YES;
}
break;
default:
break;
}
}
-(void)resetPlayerDurationVar{
playbackDurationSet=NO;
}
谢谢你的评论。是的,但无论我为initialPlaybackTime设置了什么值,它总是从零开始。VOD与播放静态MP4视频文件有什么关系?任何人的输入吗?有人能帮我吗?