Ios 具有RemoteIO的虚拟仪器应用程序录制功能

Ios 具有RemoteIO的虚拟仪器应用程序录制功能,ios,openal,recording,audiounit,Ios,Openal,Recording,Audiounit,我正在为iOS开发一个虚拟乐器应用程序,并尝试实现一个录音功能,以便该应用程序可以录制和播放用户使用该乐器制作的音乐。我目前正在使用基于OpenAL的CocosDenshion声音引擎(我自己也有一些涉及淡入淡出等的技巧)。根据我在网上的研究,我似乎有两个选择: 保留用户输入的记录(即以何种音量播放的音符),以便应用程序可以重新创建声音(但不能共享/通过电子邮件发送) 使用AudioUnits(特别是RemoteIO)破解我自己的低级声音引擎,这样我就可以手动混合所有声音并手动填充最终的输出缓冲

我正在为iOS开发一个虚拟乐器应用程序,并尝试实现一个录音功能,以便该应用程序可以录制和播放用户使用该乐器制作的音乐。我目前正在使用基于OpenAL的CocosDenshion声音引擎(我自己也有一些涉及淡入淡出等的技巧)。根据我在网上的研究,我似乎有两个选择:

  • 保留用户输入的记录(即以何种音量播放的音符),以便应用程序可以重新创建声音(但不能共享/通过电子邮件发送)
  • 使用AudioUnits(特别是RemoteIO)破解我自己的低级声音引擎,这样我就可以手动混合所有声音并手动填充最终的输出缓冲区,从而可以将所述缓冲区保存到文件中。这将能够通过电子邮件等方式共享
  • 我已经实现了一个RemoteIO回调来呈现输出缓冲区,希望它能给我以前在缓冲区中播放过的数据,但遗憾的是,缓冲区始终都是00

    所以我的问题是:有没有比上面的选项2更容易嗅探/收听我的应用程序发送给扬声器的内容


    提前感谢您的帮助

    您可能想看一下。它做了许多你似乎在寻找的事情,并将使你免于重新发明一些轮子。

    你可能想看看这个。它完成了许多您似乎正在寻找的功能,并将使您免于重新发明某些轮子。

    我认为您应该使用remoteIO,几个月前我有一个类似的项目,希望尽可能避免使用remoteIO和音频单元,但最终,在我编写了大量代码并阅读了大量来自第三方库(包括cocosdenshion)的文档之后,我最终还是使用了音频单元。更重要的是,建立和合作并不难。但是,如果你想找一个库来为你完成大部分工作,你应该找一个写有top of core audio not open al的库。

    我认为你应该使用remoteIO,几个月前我有一个类似的项目,希望尽可能避免使用remoteIO和音频单元,但最终,在我编写了大量代码并阅读了大量来自第三方库(包括cocosdenshion)的文档之后,我最终还是使用了音频单元。更重要的是,建立和合作并不难。但是,如果您想找一个库来为您完成大部分工作,您应该找一个写有top of core audio not open al的库。

    谢谢您的回复!我看过AudioCopy,它似乎需要一个源文件才能工作,它不能仅仅嗅探应用程序的音频输出(除非我误解了它的工作原理)。谢谢你的回复!我看过AudioCopy,它似乎需要一个源文件才能工作,它不能仅仅嗅探应用程序的音频输出(除非我误解了它的工作原理)。好的,谢谢!如果我想保存音频输出的话,看起来是remoteio。很高兴能帮上忙,我说的那个项目花了很长时间,因为我试图避免remoteio,声音很难处理,完全控制和低延迟非常好。你们两人是否有我以前使用的代码示例,以满足捕获应用程序音频输出并将其写入文件的类似需求?好的,谢谢!如果我想保存音频输出的话,看起来是remoteio。很高兴能帮上忙,我说的那个项目花了很长时间,因为我试图避免remoteio,声音很难处理,完全控制和低延迟非常好。你们两人是否有一个我以前使用的代码示例,开始需要捕获应用程序音频输出并将其写入文件?