之前项目有玩家之间语音的功能需求,所以研究了下,由于之前Baidu/Google能搜到的资料较少,所以我来总结下
由于我们Unity3d是跨平台工作的,所以尽量用Unity3d的api,查了下Unity3的documetation,只有个Microphone可以用。
static AudioClip Start(string deviceName, bool loop, int lengthSec, int frequency);
开始录音,第一个参数是麦克风的名字,当有多个麦克风(通过devices接口可获得麦克风名字列表)的时候可以用指定的麦克风进行录音,一般使用默认的麦克风(参数null)就行;
第二个参数是否循环录制;
第三个参数为录音长度,单位为秒;
第四个参数为音频的音质,即采样率,一般的无损音质是44100,即每秒用44100个float来表示1秒的音频内容,但是我们的语音8000就够了,不然录制出来的音频特别大,不利传输。
其他接口直接上代码,我尽量在注释中写清楚。
private AudioClip clip;
private byte[] recordData;
//

本文介绍了在Unity3d中实现录音功能的步骤和注意事项,包括如何使用Microphone API开始录音,设置录音参数,以及如何处理录音数据。还提到了在实际项目中为了优化语音效果,可以考虑使用第三方语音SDK,并分享了个人项目中使用Unity3d原生接口实现的良好体验。
最低0.47元/天 解锁文章
1188

被折叠的 条评论
为什么被折叠?



