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

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

【问题讨论】:

    标签: objective-c ios video avplayer avasset


    【解决方案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 代码,所以它现在应该可以工作了。我通常不会这么说,但感谢投反对票的人。
    猜你喜欢
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多