我正在尝试在特定点处查找视频文件。假设视频长度为5分钟,我要从110秒开始跳转。
当我从开头播放时,一切都正常播放。然而,当我尝试查找文件时,我可以听到音频,但看不到视频。我最初认为这可能是我加载子视图的顺序有问题,但我仍然可以看到(和使用)播放器的控件。将滑块滑回0:00即可开始视频。
以下是我的视频类中的代码。initIntoView方法接受一个UIView,然后返回一个修改后的副本,该副本随后被写入主视图。很抱歉代码有些混乱。我还是Objetive-C的新手。
初始化视频视图
开始播放视频。
我已经尝试在视频播放之前和之后将videoController添加到viewRef中,但结果相同。
我还尝试使用MPMoviePlayerViewController,但无济于事。
我还尝试将流媒体类型更改为MPMovieSourceTypeStreaming,但似乎没有任何影响。
如果我错过了任何重要的代码,请问一声,我会尽力而为。
编辑: Xcode 4.6.3 iOS 6 在iPad 2上测试
编辑#2: 在模拟器上完美运行,但在设备上无法运行。
当我从开头播放时,一切都正常播放。然而,当我尝试查找文件时,我可以听到音频,但看不到视频。我最初认为这可能是我加载子视图的顺序有问题,但我仍然可以看到(和使用)播放器的控件。将滑块滑回0:00即可开始视频。
以下是我的视频类中的代码。initIntoView方法接受一个UIView,然后返回一个修改后的副本,该副本随后被写入主视图。很抱歉代码有些混乱。我还是Objetive-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: 在模拟器上完美运行,但在设备上无法运行。