gpt4 book ai didi

ios - 来自应用沙箱的 AVAsset

转载 作者:行者123 更新时间:2023-11-28 22:17:44 24 4
gpt4 key购买 nike

我在我的应用程序中使用 AVAsset 并遇到了下一个问题。当我写这样的东西时:

AVAsset *audioAsset = [AVAsset assetWithURL:[NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/Hello.mp3", [[NSBundle mainBundle] resourcePath]]]];

它的工作正常。但是当我尝试从应用程序的沙箱中的 tmp 目录中获取新的记录文件时:

AVAsset *audioAsset2 = [AVAsset assetWithURL:[NSURL URLWithString:[NSTemporaryDirectory() stringByAppendingPathComponent:[@"speechRecord" stringByAppendingPathExtension:@"m4a"]]]];

这也行不通。即使我尝试将视频文件添加到沙箱中的 Assets - 结果也是一样的。我什至尝试使用 AVURLAsset,但 Assets 也总是空的。我需要它来混合两个音频文件,然后将其与录制的视频合并。如果我可以在没有 AVAssets 的情况下做到这一点并且有另一种方法,如果你告诉我,我将不胜感激。或者可能还有其他功能吗?

最佳答案

您使用 URLWithString 选择器为 audioAsset2 创建第二个 URL。您的第一个 Assets 已正确加载,因为您使用了 fileURLWithPath 选择器。

如果您想在给定的 URL 加载文件,请始终使用 fileURLWithPath 选择器创建 NSURL 对象。

所以简单地尝试:

AVAsset *audioAsset2 = [AVAsset assetWithURL:[NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:[@"speechRecord" stringByAppendingPathExtension:@"m4a"]]]];

关于ios - 来自应用沙箱的 AVAsset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21206643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com