ios AVPlayerViewController 无法播放本地 mp4

标签 ios video avplayerviewcontroller

我尝试使用 AVPlayerViewController 播放 mp4 视频。我用“http url”,它可以播放,但是当我使用fileUrl时,它不起作用...

    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"mp4ForDownloadTest" ofType:@"mp4"];
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
    NSURL *url = [NSURL fileURLWithPath:filePath isDirectory:NO];

    AVPlayerViewController *playerVC = [[AVPlayerViewController alloc] init];

    AVAsset *movieAsset = [AVURLAsset URLAssetWithURL:url options:nil];
    AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:movieAsset];
    AVPlayer *player = [AVPlayer playerWithPlayerItem:playerItem];

    playerVC.player = player;

    [self presentViewController:playerVC animated:YES completion:^{
        [player play];
    }];
}

enter image description here

最佳答案

试试这个:

        guard let path = NSBundle.mainBundle().pathForResource("drum", ofType:"mp4") else {
            break
        }

        let url = NSURL(fileURLWithPath: path)
        self.loadPlayer(url) 

然后:

private func loadPlayer(url: NSURL) {
    // present video window
    let playerItem = AVPlayerItem(URL: url)
    let player = AVPlayer.init(playerItem: playerItem)
    self.playerViewController.player = player

    self.view.addSubview(self.playerViewController.view)
    self.videoControlView.alpha = 1.0
    self.setupPlayerObserver()
    self.playPlayer()
    self.setSlider()
}

关于ios AVPlayerViewController 无法播放本地 mp4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36302220/

相关文章:

ios - 动画期间未调用 CALayer setPosition

iphone - iOS主页按钮警告,可能吗?

windows - 在 Windows 上使用 Youtube-dl 提取 MP3 的问题

video - DE-10 FFMPEG 原始 YCbCr 4 :2:2 Frame to PNG or Video leads to bad result

android - 如何在 my/sdcard/Android/data/mypackage/files 文件夹中获取视频的缩略图?

swift - 如何在 Xcode macOS Cocoa 应用程序中嵌入和流式传输来自网络的视频?

ios - 无法使用 AVPlayer 播放 .mp4 视频文件

ios - 使用主机应用程序与自定义键盘扩展进行通信,但无法在设备中运行但可在模拟器中运行

Swift AVPlayerViewController 添加播放视频的目标

ios - 使 UIView 在用作表头 View 时保持其大小