1# * coding: UTF8 * 2""" 3Recorder模块具体接口和参数。 4 5========================================================================================== 6 7""" 8 9def set_sink(format, rate, channels, bits, frames, bitrate, sink): 10 """ 11 请求录音资源并设置录音参数。 12 13 :param format(int): 录音数据编码格式, 可以选择的类型为: 14 15 .. c:enum:: media_format_t 16 17 MEDIA_FMT_UNKNOWN = 0, 18 19 MEDIA_FMT_PCM, 20 21 MEDIA_FMT_WAV, 22 23 MEDIA_FMT_MP3, 24 25 MEDIA_FMT_AAC, 26 27 MEDIA_FMT_M4A, 28 29 MEDIA_FMT_OGG, 30 31 MEDIA_FMT_OPS, 32 33 MEDIA_FMT_SPX, 34 35 MEDIA_FMT_WMA, 36 37 MEDIA_FMT_AMR, 38 39 MEDIA_FMT_AMRWB, 40 41 MEDIA_FMT_FLAC, 42 :param rate(int): 采样率,支持采样率包括但不限于:8K, 16K,24K 43 :param channels(int): 声道数,取值为1或者2 44 :param bits(int): 数据宽度,取值为16,24,32, 通常取值为16 45 :param frame_samples(int): 帧长度, 每次录音期待读取的数据 46 :param sink(str): 保存路径,对于录音到缓存中的场景,sink设置NULL即可。 47 48 :returns: 0: 成功,其他: 失败 49 :raises OSError: EINVAL 50 """ 51 pass 52 53def clr_sink(): 54 """ 55 释放录音资源。 56 57 :param 空: 58 :returns: 0: 成功,其他: 失败 59 :raises OSError: EINVAL 60 """ 61 pass 62 63def start(): 64 """ 65 开始录音。 66 67 :param 空: 68 :returns: 0: 成功,其他: 失败 69 :raises OSError: EINVAL 70 """ 71 pass 72 73def stop(): 74 """ 75 停止录音。 76 77 :param 空: 78 :returns: 0: 成功,其他: 失败 79 :raises OSError: EINVAL 80 """ 81 pass 82 83def get_stream(buffer, nbytes): 84 """ 85 读取指定长度的录音数据并保存到buffer中。 86 87 :param buffer(bytearray): 音频存放的位置 88 :param nbytes(int): 期待读取的音频字节数 89 :returns: 实际读取到的音频数据字节数,不大于nbytes;负数代表读取失败。 90 :raises OSError: EINVAL 91 """ 92 pass 93 94def get_state(): 95 """ 96 获取录音引擎状态。 97 98 :param 空: 99 :returns: 录音音频状态,可以选择的类型为: 100 101 .. c:enum:: recorder_state_t 102 103 RECORDER_STAT_IDLE = 0, 104 105 RECORDER_STAT_READY, 106 107 RECORDER_STAT_RUNNING, 108 109 RECORDER_STAT_STOP, 110 111 RECORDER_STAT_ERROR, 112 :raises OSError: EINVAL 113 """ 114 pass 115 116def get_position(): 117 """ 118 获取录音进度,单位为秒。 119 120 :param 空: 121 :returns: int类型,当前录音进度 122 :raises OSError: EINVAL 123 """ 124 pass 125 126def ns_enable(enable): 127 """ 128 是否使能音频降噪NS(Noise Suppression)功能。 129 130 :param enable(int): 1为允许使能,0为禁止使能 131 :returns: 0: 成功,其他: 失败 132 :raises OSError: EINVAL 133 """ 134 pass 135 136def ec_enable(enable): 137 """ 138 是否使能回声消除EC(Echo Cancle)功能。 139 140 :param enable(int): 1为允许使能,0为禁止使能 141 :returns: 0: 成功,其他: 失败 142 :raises OSError: EINVAL 143 """ 144 pass 145 146def agc_enable(enable): 147 """ 148 是否使能自动增益控制AGC(Auto Gain Control)功能。 149 150 :param enable(int): 1为允许使能,0为禁止使能 151 :returns: 0: 成功,其他: 失败 152 :raises OSError: EINVAL 153 """ 154 pass 155 156def vad_enable(enable): 157 """ 158 是否使能语音活性检测VAD(Voice Activity Detection)功能。 159 160 :param enable(int): 1为允许使能,0为禁止使能 161 :returns: 0: 成功,其他: 失败 162 :raises OSError: EINVAL 163 """ 164 pass 165 166def format_support(format): 167 """ 168 设置播放器支持的音源类型。 169 170 :param format(int): 音源类型,具体内容参考 ``set_sink`` 171 :returns: 0: 成功,其他: 失败。 172 :raises OSError: EINVAL 173 """ 174 pass 175