audio ===== .. _audio-1: audio ----- 模块功能:音频播放. 支持MP3、amr文件播放; 支持本地TTS播放、通话中TTS播放到对端(需要使用支持TTS功能的core软件) audio.play(priority, type, path, vol, cbFnc, dup, dupInterval) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 播放音频 - 参数 +-----------------------------------+-----------------------------------+ | 传入值类型 | 释义 | +===================================+===================================+ | number | priority, | | | 音频优先级,数值越大,优先级越高 | +-----------------------------------+-----------------------------------+ | string | type,音频类型,目前仅支 | | | 持“FILE”、“TTS”、“TTSCC”,“RECORD” | +-----------------------------------+-----------------------------------+ | string | path,音频文件路径,跟typ有关typ | | | 为“FILE”时:表示音频文件路径typ为 | | | “TTS”时:表示要播放的UTF8编码格式 | | | 的数据typ为“TTSCC”时:表示要播放 | | | 给通话对端的UTF8编码格式的数据ty | | | p为“RECORD”时:表示要播放的录音id | +-----------------------------------+-----------------------------------+ | number | * | | | *可选参数,默认为\ ``4``**\ ,vol | | | ,播放音量,取值范围0到7,0为静音 | +-----------------------------------+-----------------------------------+ | function | **可选参数,默认为\ ``n | | | il``**\ ,cbFnc,音频播放结束时的 | | | 回调函数,回调函数的调用形式如下 | | | :cbFnc(result)result表示播放结果 | | | :0-播放成功结束;1-播放出错2-播 | | | 放优先级不够,没有播放3-传入的参 | | | 数出错,没有播放4-被新的播放请求 | | | 中止5-调用audio.stop接口主动停止 | +-----------------------------------+-----------------------------------+ | bool | **可选参数,默认 | | | 为\ ``nil``**\ ,dup,是否循环播 | | | 放,true循环,false或者nil不循环 | +-----------------------------------+-----------------------------------+ | number | **可选参数,默认为\ ``0``**\ | | | ,dupInterval,循环播放间隔(单位 | | | 毫秒),dup为true时,此值才有意义 | +-----------------------------------+-----------------------------------+ - 返回值 result,bool或者nil类型,同步调用成功返回true,否则返回false - 例子 .. code:: lua audio.play(0,"FILE","/ldata/call.mp3") audio.play(0,"FILE","/ldata/call.mp3",7) audio.play(0,"FILE","/ldata/call.mp3",7,cbFnc) -- 更多用法参考demo/audio/testAudio.lua -------------- audio.stop(cbFnc) ~~~~~~~~~~~~~~~~~ 停止音频播放 - 参数 +-----------------------------------+-----------------------------------+ | 传入值类型 | 释义 | +===================================+===================================+ | function | **可选参数,默认为\ ``nil`` | | | **\ ,cbFnc,停止音频播放的回调函 | | | 数(停止结果通过此函数通知用户), | | | 回调函数的调用形式为:cbFnc(resul | | | t)result:number类型0表示停止成功 | +-----------------------------------+-----------------------------------+ - 返回值 nil - 例子 .. code:: lua audio.stop() -------------- audio.setVolume(vol) ~~~~~~~~~~~~~~~~~~~~ 设置喇叭音量等级 - 参数 ========== ========================= 传入值类型 释义 ========== ========================= number vol,音量值为0-7,0为静音 ========== ========================= - 返回值 bool result,设置成功返回true,失败返回false - 例子 .. code:: lua audio.setVolume(7) -------------- audio.setCallVolume(vol) ~~~~~~~~~~~~~~~~~~~~~~~~ 设置通话音量等级 - 参数 ========== ========================= 传入值类型 释义 ========== ========================= number vol,音量值为0-7,0为静音 ========== ========================= - 返回值 bool result,设置成功返回true,失败返回false - 例子 .. code:: lua audio.setCallVolume(7) -------------- audio.setMicVolume(vol) ~~~~~~~~~~~~~~~~~~~~~~~ 设置麦克音量等级 - 参数 ========== ========================== 传入值类型 释义 ========== ========================== number vol,音量值为0-15,0为静音 ========== ========================== - 返回值 bool result,设置成功返回true,失败返回false - 例子 .. code:: lua audio.setMicVolume(14) -------------- audio.getVolume() ~~~~~~~~~~~~~~~~~ 获取喇叭音量等级 - 参数 无 - 返回值 number vol,喇叭音量等级 - 例子 .. code:: lua audio.getVolume() -------------- audio.getCallVolume() ~~~~~~~~~~~~~~~~~~~~~ 获取通话音量等级 - 参数 无 - 返回值 number vol,通话音量等级 - 例子 .. code:: lua audio.getCallVolume() -------------- audio.getMicVolume(vol) ~~~~~~~~~~~~~~~~~~~~~~~ 获取麦克音量等级 - 参数 无 - 返回值 number vol,麦克音量等级 - 例子 .. code:: lua audio.getMicVolume() -------------- audio.setStrategy(strategy) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 设置优先级相同时的播放策略 - 参数 +-----------------------------------+-----------------------------------+ | 传入值类型 | 释义 | +===================================+===================================+ | number | stra | | | tegy,优先级相同时的播放策略;0: | | | 表示继续播放正在播放的音频,忽略 | | | 请求播放的新音频;1:表示停止正在 | | | 播放的音频,播放请求播放的新音频 | +-----------------------------------+-----------------------------------+ - 返回值 nil - 例子 .. code:: lua audio.setStrategy(0) audio.setStrategy(1) -------------- audio.setTTSSpeed(speed) ~~~~~~~~~~~~~~~~~~~~~~~~ 设置TTS朗读速度 - 参数 ========== ============================== 传入值类型 释义 ========== ============================== number speed,速度范围为0-100,默认50 ========== ============================== - 返回值 bool result,设置成功返回true,失败返回false - 例子 .. code:: lua audio.setTTSSpeed(70) -------------- audio.setChannel(channel) ~~~~~~~~~~~~~~~~~~~~~~~~~ 设置音频输出通道 设置后实时生效 - 参数 +------------+--------------------------------------------------------+ | 传入值类型 | 释义 | +============+========================================================+ | number | * | | | *可选参数,默认为\ ``2``**\ ,channel,0:earphone听筒 | | | 1:headphone耳机 2:speaker喇叭 | +------------+--------------------------------------------------------+ - 返回值 nil - 例子 .. code:: lua -- 设置为听筒输出:audio.setChannel(0) -- 设置为耳机输出:audio.setChannel(1) -- 设置为喇叭输出:audio.setChannel(2) --------------