如何使用 AVPlayer 播放 mp4 资源?

Posted

技术标签:

【中文标题】如何使用 AVPlayer 播放 mp4 资源?【英文标题】:How can I play an mp4 resource with AVPlayer? 【发布时间】:2012-07-26 18:06:32 【问题描述】:

我在我的项目导航器中包含了一个 mp4 资源。我想在 AVPlayer 中播放它。我知道如何为 AVPlayer 对象创建一个 AVPlayerItem,所以现在我想将适当的 AVAsset 加载到其中,指向我的 mp4 资源。问题是 AVAsset 只有一个assetWithURL: 方法来创建一个 AVAsset。我想要一个assetWithName: 方法,但该方法不存在。如果我没有 URL,如何播放我的 mp4 文件?如果无法通过名称引用播放,如何获取我的 mp4 文件的文件 URL?

【问题讨论】:

【参考方案1】:

要获取 URL,请使用

[[NSBundle mainBundle] URLForResource:@"my_video" withExtension:@"mp4"]

【讨论】:

不要忘记在右侧面板中选择“目标会员”。没有它,它对我不起作用。【参考方案2】:

它可能会在你的主包中,你可以通过

获取它的 URL
- (NSString*) saveFilePath: (NSString *) add

    NSString *filename = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:
                    [[NSBundle mainBundle] pathForResource:add ofType:@"mp4"]isDirectory:NO]]];
    return filename;

将其复制到您的代码中,然后执行 [self saveFilePath:@"Name of your file"] 以获取 URL。

完整代码:

AVPlayer *player = [[AVPlayer alloc] initWithURL:[self saveFilePath:@"fileName"];
[player play];

【讨论】:

哎呀,我错过了您没有将文件生成到您的文档中...我只是在回答一个录音问题,我很困惑。无论如何,我修复了saveFilePath 代码,所以它现在应该可以工作了。我通常不会这么说,但感谢投反对票的人。

以上是关于如何使用 AVPlayer 播放 mp4 资源?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查 AVPlayer 中的音频通道数?

如何检测 AVPlayer 视频何时结束播放?

Swift AVPlayer 不会播放 MP4:播放按钮通过它

iOS H.265编码的MP4播放问题

avplayer播放视频时没有声音

分块解密媒体文件并通过 AVPlayer 播放