在这个低级进程的真正高级别,示例代码定义了一个AudioComponent(在这种情况下,RemoteIO允许同时输入/输出),并且该音频单元有一个渲染回调.在回调中,他们根据来自麦克风的AudioBuffer声音数据进行一些音频过滤(DC拒绝过滤器)和立体图的可视化.
我的最终目标是根据麦克风的输入创建我自己的自定义声音失真音频单元.我认为基于音频单元教程的正确方法是制作第二个音频单元并将它们与音频处理图连接起来.但是,我已经读过iOS不允许您注册自己的自定义音频单元.我的问题是:
>我可以对来自remoteIO音频单元的渲染回调中可访问的AudioBufferList进行直接操作(因为他们似乎已经这样做并在其上应用音频过滤器)并在那里创建我自己的自定义声音失真?
>我已经尝试将AudioBufferList数据分配给一个常量(我看到它从样本运行和记录AudioBufferList中看到的值),但它似乎什么都不做.
解决方法
我相信你需要直接操纵指针中的数据,而不是重新分配.您可能需要查看openframeworks中处理分配缓冲区并将其传递给回调的代码:https://github.com/openframeworks/openFrameworks/blob/master/addons/ofxiPhone/src/sound/ofxiPhoneSoundStream.mm
还有其他代码,你可以看看,尼克柯林斯有一个基本的应用程序,用于从麦克风和扬声器中取出声音,在其间进行处理:http://www.cogs.susx.ac.uk/users/nc81/code.html.他还有代码,从iPod轨道获取样本缓冲区对你有用.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。