2017-01-09 87 views
0

我想在Unity的AudioSource的输入端生成音频。在AudioSource的输入端生成音频

我已经使用OnAudioFilterRead() MonoBehaviour尝试,但这种只允许你改变音频数据AudioSource,绕过任何空间化/俯仰/增益等方面的AudioSource组件。

我也有过使用AudioClip作为缓冲区的想法,用音频数据填充它,然后将其加载到AudioSource中,但我不认为这可以在不知道缓冲区大小的情况下完成,并且能够在读取每个缓冲区时加载新的剪辑。由于每个新缓冲区都是必需的,所以没有办法读入AudioClip

有没有什么方法可以在之前更改AudioSource的音频数据?它会经过音频源的空间化/俯仰/增益等吗?

+0

这不是主题,也不要求'推荐或找到书籍,工具,软件库,教程或其他非现场资源'。这是一个关于Unity的直接问题。如果有什么不清楚的地方,请评论,我会编辑清楚,谢谢。 –

回答

0

我自己解决了这个问题。这是一个愚蠢的错误。读取所述文档为OnAudioFilterRead后正确我发现,它规定:

音频数据是浮筒的范围从阵列[-1.0F; 1.0F]和 包含在链中或先前的过滤器的音频AudioSource上的AudioClip 。如果这是连锁店中的第一个过滤器,并且 剪辑未附加到音频源,则此过滤器将被“播放”。 这样你就可以使用过滤器作为音频剪辑,程序性地生成音频 。

我曾在AudioSource音频剪辑,其停止OnFilterRead是在DSP链中的第一过程。删除音频剪辑修复了问题!