Unity3D Windows平台Speex音频解码播放(基于NSpeex与NAudio)

Unity3D 在 Windows 下用NSpeexNAudio搞 Speex 音频解码,真的是省事不少。

Speex 的 speex 格式压缩率高、体积小,适合语音传输,但 Unity 默认可不认这玩意儿。NSpeex解码部分,NAudio管播放,配合起来用挺顺手。

你要做的是把压缩过的 Speex 音频流先扔进NSpeex.Decoder,解成 PCM,再用WaveOutWaveStream推出来。中间别忘了下byte[]数据,格式对了才能播得出声音。

整个方案对Unity3D挺友好,尤其在 Windows 平台下测试稳定、延迟也低,适合语音聊天、语音引导那类应用。如果你用的是 WebGL 或者移动端,那这套就不太行了。

哦对了,Unity 和 Windows 窗体交互那篇文章你可以顺带看看,跟播放控制结合起来更方便。

如果你也想在Unity3D里搞个高效点的音频方案,不妨试试这个搭配。简单粗暴,调通也快,蛮适合工程用。

unitypackage 文件大小:188.52KB