【发布时间】:2013-09-03 13:32:44
【问题描述】:
我正在尝试在某个时间点查找视频文件。假设视频时长 5 分钟,而我在 110 秒时开始播放。
当我从头开始播放时,一切正常,但是,当我尝试查找文件时,我可以听到音频但看不到视频。我首先认为这可能是我加载子视图的顺序问题,但我仍然可以看到(并使用)播放器的控件。滑回 0:00 开始播放视频。
以下是我的视频课程中的代码。 initIntoView 方法接受UIView,然后返回修改后的副本,然后将其写入主视图。提前为凌乱的代码道歉。我对 Objective-C 还是很陌生。
初始化视频视图
- (WWFVideo*) initIntoView: (UIView*) view withContent:(NSDictionary*)contentDict{
self=[super init];
viewRef=view;
contentData = contentDict;
NSURL *videoUrl = [[NSURL alloc]initWithString:[contentDict objectForKey:@"cnloc"]]; //Returns a HTTP link to my video file (MP4, H.246, AAC Audio)
videoController = [[MPMoviePlayerController alloc] init];
videoController.movieSourceType = MPMovieSourceTypeFile;
[videoController setContentURL:videoUrl];
videoController.view.frame = viewRef.bounds;
[videoController.view setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];
[viewRef addSubview:videoController.view];
return self;
}
开始播放视频
-(void)play:(int)offset { //Offset is "110"
[videoController setInitialPlaybackTime:offset];
[videoController play];
}
我尝试在视频开始播放之前和之后将 videoController 添加到 viewRef,但结果相同。
我也尝试过使用MPMoviePlayerViewController,但无济于事。
我尝试的另一件事是将流媒体类型更改为MPMovieSourceTypeStreaming,但它似乎没有效果。
如果我错过了更多重要的代码,请询问,我会看看我能做些什么。
编辑:
Xcode 4.6.3
iOS 6
在 iPad 2 上进行测试
编辑#2:
在模拟器上完美运行,而不是在设备上。
【问题讨论】:
-
在播放前添加以下行可能会加快转换速度。 [videoController prepareToPlay];
标签: ios objective-c cocoa-touch mpmovieplayercontroller