这可能是因为在模拟器上安装了多个编解码器或支持库,但在真实设备上缺少某些支持库。因此,在导出会话中添加适当的输出文件类型和输出URL可能会解决此问题。例如:
AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetAppleM4A];
exportSession.outputFileType = AVFileTypeAppleM4A;
exportSession.outputURL = outputFileURL;
在这个示例中,我们明确指定输出文件类型和输出URL,以确保导出会话在设备上成功执行。
另外,还可以尝试将导出会话的输出文件类型更改为其他类型,然后测试是否仍然失败。也可以在设备上打开日志输出,以查看是否有与导出会话相关的错误或警告消息。
上一篇:AVAssetExportSession严重降低了视频质量。
下一篇:AVAssetExportSession在设备上不工作,但在模拟器上工作(AVFoundationErrorDomain Code = -11800,未知错误代码-12780)。