[TOC] # **本地录音** ## SetRecordDataHandler 设置录音数据回调 **开启语音消息录制** 1.接口说明 设置录音数据回调,开启录音后每10ms抛出数据,开发者可自由对数据进行操作,此处不应进行耗时操作,避免录音数据延迟甚至不完整。 2.函数原型 ~~~ public delegate void RecordVoiceData(byte[] data, int samplesNumPerChannel, SampleRate sampleRate, ChannelFormat channelFmt, Format fmt); void SetRecordDataHandler(RecordVoiceData recordData); ~~~ * 参数说明: | 参数 | 类型 | 说明 | | --- | --- | --- | | date | byte[] | 音频流数据 | | samplesNumPerChannel | int | 音频流单通道10ms数据长度,值为sampleRate/100 | | sampleRate | SampleRate | 音频流的采样率 | | channelFmt| ChannelFormat | 音频流通道类型,单声道或双声道 | | fmt | Format | 音频流数据格式与位深| * SampleRate | 类型 | 值 | | --- | --- | | SAMPLERATE_8KHZ | 8000 | | SAMPLERATE_16KHZ | 16000 | | SAMPLERATE_32KHZ | 32000 | | SAMPLERATE_48KHZ | 48000 | | SAMPLERATE_481KHZ | 44100 | * ChannelFormat | 类型 | 值 | | --- | --- | | MONO | 1 | | STEREO | 2 | * Format | 类型 | 值 | | --- | --- | | FORMAT_S16 | 1,交织,short,单样点字节数:2 | | FORMAT_FLT | 3,交织,float,单样点字节数:4 | | FORMAT_S16P | 6,平面,short,单样点字节数:2 | | FORMAT_FLTP | 8,平面,float,单样点字节数4 | 3.示例代码 ~~~ client.SetRecordDataHandler(HandleRecordVoiceData); void HandleRecordVoiceData(byte[] data, int samplesNumPerChannel, SampleRate sampleRate, ChannelFormat channelFmt, Format fmt) { Debug.Log("HandleRecordVoiceData sampleRate " + sampleRate + " channelFmt " + channelFmt + " fmt " + fmt + " size " + samplesNumPerChannel); } ~~~ 4.返回值 无 ## StartRecordVoiceData 开启语音录制 **开启语音录制** 1.接口说明 开始录制语音,语音消息业务不建议使用,参考语音消息章节。 2.函数原型 `int StartRecordVoiceData();` 3.示例代码 `client.StartRecordVoiceData();` 4.出错处理 出错返回错误码,0为成功。 ## StopRecordVoiceData 停止语音消息录制 **停止语音消息录制** 1.接口说明 停止录制语音消息,语音消息业务不建议使用,参考语音消息章节。 2.函数原型 `int StopRecordVoiceData();` 3.示例代码 `client.StopRecordVoiceData();` 4.出错处理 出错返回错误码,0为成功。