AVPlayer未在iOS 8中加载视频
我正在尝试在iOS 8中使用AVPlayerViewController。但视频无法加载。我只是看到下面的屏幕 整个代码库都在这里AVPlayer未在iOS 8中加载视频,ios,objective-c,iphone,ios8,avplayer,Ios,Objective C,Iphone,Ios8,Avplayer,我正在尝试在iOS 8中使用AVPlayerViewController。但视频无法加载。我只是看到下面的屏幕 整个代码库都在这里 我下载了您的项目并查看了一下。解决方案非常简单,您忘记将视频文件包含在目标中,这意味着在设置URL时,您指向的是一个不存在的文件,这意味着NSURL为零 在Xcode的实用工具侧栏中,在导航器中选择mp4文件,选择文件检查器,并在“目标成员资格”中确保检查应用程序目标 完成后,您的电影将在发布时播放。@runmad,我也用同样的方法完成了,但我正在尝试打开本地视频
我下载了您的项目并查看了一下。解决方案非常简单,您忘记将视频文件包含在目标中,这意味着在设置URL时,您指向的是一个不存在的文件,这意味着
NSURL
为零
在Xcode的实用工具侧栏中,在导航器中选择mp4文件,选择文件检查器,并在“目标成员资格”中确保检查应用程序目标
完成后,您的电影将在发布时播放。@runmad,我也用同样的方法完成了,但我正在尝试打开本地视频。这是我的代码
AVPlayerViewController *playerViewController = [[AVPlayerViewController alloc] init];
playerViewController.player = [AVPlayer playerWithURL:[[NSBundle mainBundle]
URLForResource:@"Besan"
withExtension:@"mp4"]];
[playerViewController.player play];
我没有使用AVPlayerItem
,但结果是一样的(只有带有done、play、forward和backward按钮的黑屏)
我试过使用MPMoviePlayerController
,但很快它就不显示视频了。
这是MPMoviePlayerController代码
{
// Initialize the movie player view controller with a video URL string
AVPlayerViewController *playerViewController = [[AVPlayerViewController alloc] init];
/*NSURL *url = [NSURL URLWithString:@"https://www.youtube.com/watch?v=qcI2_v7Vj2U"];
playerViewController.player = [AVPlayer playerWithURL:url];*/
// playerViewController.player = [AVPlayer playerWithURL: [ [filePath]URLForResource:@"Besan"
// withExtension:@"mp4"]];
NSLog(@"\nFile URL\n%@",videosURL);
AVPlayerItem* item=[[AVPlayerItem alloc]initWithURL:videosURL];
NSLog(@"\n\nAVPlayerItem\n%@",item);
playerViewController.player=[AVPlayer playerWithPlayerItem:item];
[playerViewController.player play];
[self presentViewController:playerViewController animated:YES completion:^{}];
}
您最好从一个工作示例开始并扩展它。如果您愿意,您可以尝试一个在github中使用AvPlayServiceWController的xcode示例项目,如我的中所述,这是一个示例项目,显示了太阳的高清SDO视频,它在全新的retina iPad上看起来最好,因为视频质量非常高。不确定您为什么不调试URL
{
MPMoviePlayerViewController *moviePlayerController = [[MPMoviePlayerViewController alloc]initWithContentURL:videosURL];
[self presentMoviePlayerViewControllerAnimated:moviePlayerController];
[moviePlayerController.moviePlayer play];
}