语音录制和播放
权限配置
Android
需要配置 AndroidManifest.xml,添加权限如下:
另外开发者在android系统下需要调用 System.loadLibrary("nim_audio")加载库文件。
iOS
iOS 10系统以上版本要求开发者添加权限申请的描述,否则程序在这些系统上会出现崩溃。开发者需要用到语音消息,那么就应该添加麦克风权限申请的描述。
key:Privacy - Microphone Usage Description
value: 是否允许此app使用麦克风?
若录音影响游戏音效之类的问题,需要每次调用sdk录音或者播放,结束以后,需要开发者调用OC接口将 audio session的category设置一下
[AVAudioSession sharedInstance] setCategory:xxxxxxxx]
/*Use this category for background sounds such as rain,car engine noise,etc.Mixes with other music.*/
AVF_EXPORT NSString *const AVAudioSessionCategoryAmbient ;
/*Use this category for background sounds.other music will stop playing.*/
AVF_EXPORT NSString *const AVAudioSessionCategorySoloAmbient;
初始化与清理
在使用语音功能前必须调用接口nim_audio::Audio::Init初始化语音模块;在退出程序前,调用接口nim_audio::Audio::ClearUp释放语音模块。
录制
在录制语音时需要确保录音设备运行正常。网易云通信 SDK 提供了一套录制高清语音的接口,用于采集,编码,存储高清语音数据,并提供过程回调,当前支持的录制语音文件格式包括amr和aac。
API原型
开始录制
/** @fn bool StartCapture(int audio_format,int volume,int loudness,const std::string& capture_device)
* 开始录制语音
*