gpt4 book ai didi

iphone - 使用 RemoteIO 和 Audio Unit 播放音频文件

转载 作者:行者123 更新时间:2023-12-02 22:52:10 24 4
gpt4 key购买 nike

我正在查看适用于 iPhone 的 Apple 'aurioTouch' 示例,我想播放 mp3 或 wav 而不是使用内置麦克风。我对 iPhone 编程的音频部分非常陌生,但我认为我需要修改 SetupRemoteIO(...) 函数并将名为“comp”的 AudioComponent 替换为播放文件的自定义 AudioComponent。基本上我希望应用程序的功能与原始应用程序完全相同,但使用音频文件而不是麦克风作为输入。

最佳答案

您只需要将音频文件转换为 pcm 数据,然后在播放回调期间将该数据提供给 RemoteIO 接口(interface)。

要读入您的音频文件,您需要使用 ExtAudioFileOpenURL 和 ExtAudioFileRead。还要确保使用 ExtAudioFileSetProperty 设置您的音频格式以转换为您的目标 pcm 格式(应该是打包的有符号整数 PCM 数据)。

播放只涉及响应 RemoteIO 回调(应该与 aurioTouch 的示例相同)并将您加载的 PCM 数据提供给它。

唯一另一个棘手的部分是,将整个 mp3 文件加载为 PCM 会占用大量内存。您可能必须编写一个加载线程,以便您可以通过仅加载相关的 mp3 block 来满足您的内存需求。

关于iphone - 使用 RemoteIO 和 Audio Unit 播放音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2575651/

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