无法在 ios 应用上播放下载的视频

Unable to play downloaded video on ios app

我正在处理 iOS 应用程序。我想在那里播放存储在本地文件系统中的视频。所以我正在使用 AVPlayer。但是当我尝试播放视频时,我总是看到播放符号被划掉了。 这是我的代码:

- (void)playVideo:(NSURL *)videoUrl onView:(UIView *)view{
   videoUrl = [videoUrl URLByAppendingPathExtension:@"3gp"];
   NSLog(@"file url: %@", videoUrl);
   AVURLAsset *asset = [AVURLAsset assetWithURL:videoUrl];
   AVPlayerItem* playerItem = [AVPlayerItem playerItemWithAsset:asset];
   AVPlayer* playVideo = [[AVPlayer alloc] initWithPlayerItem:playerItem];
   AVPlayerViewController *playerViewController = [[AVPlayerViewController alloc] init];
   playerViewController.player = playVideo;
   playerViewController.player.volume = 0;
   playerViewController.view.frame = view.bounds;
   [self.viewController addChildViewController: playerViewController];
   [self.viewController.view addSubview:playerViewController.view];
   [playVideo play];
}

要补充的几件事:

如果我打印 url 我看到这个:

file:///var/mobile/Containers/Data/Application/93D7BE2E-2622-4614-9E8B-2DA07593D68D/Documents/2b6f779a63e9d714944f66f01f05a3b437b79f43

这就是我手动添加扩展的原因

videoUrl = [videoUrl URLByAppendingPathExtension:@"3gp"];

此外,如果我打印播放器项目的状态,它总是打印 0 -> undefined

NSLog(@"item status: %ld", playerItem.status);

知道错误在哪里吗?

提前致谢

我正在分享一些链接,我想这会解决你的问题。

2. The another one.