audio

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

  • 例子

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

  • 例子

audio.stop()

audio.setVolume(vol)

设置喇叭音量等级

  • 参数

传入值类型

释义

number

vol,音量值为0-7,0为静音

  • 返回值

bool result,设置成功返回true,失败返回false

  • 例子

audio.setVolume(7)

audio.setCallVolume(vol)

设置通话音量等级

  • 参数

传入值类型

释义

number

vol,音量值为0-7,0为静音

  • 返回值

bool result,设置成功返回true,失败返回false

  • 例子

audio.setCallVolume(7)

audio.setMicVolume(vol)

设置麦克音量等级

  • 参数

传入值类型

释义

number

vol,音量值为0-15,0为静音

  • 返回值

bool result,设置成功返回true,失败返回false

  • 例子

audio.setMicVolume(14)

audio.getVolume()

获取喇叭音量等级

  • 参数

  • 返回值

number vol,喇叭音量等级

  • 例子

audio.getVolume()

audio.getCallVolume()

获取通话音量等级

  • 参数

  • 返回值

number vol,通话音量等级

  • 例子

audio.getCallVolume()

audio.getMicVolume(vol)

获取麦克音量等级

  • 参数

  • 返回值

number vol,麦克音量等级

  • 例子

audio.getMicVolume()

audio.setStrategy(strategy)

设置优先级相同时的播放策略

  • 参数

传入值类型

释义

number

stra tegy,优先级相同时的播放策略;0: 表示继续播放正在播放的音频,忽略 请求播放的新音频;1:表示停止正在 播放的音频,播放请求播放的新音频

  • 返回值

nil

  • 例子

audio.setStrategy(0)
audio.setStrategy(1)

audio.setTTSSpeed(speed)

设置TTS朗读速度

  • 参数

传入值类型

释义

number

speed,速度范围为0-100,默认50

  • 返回值

bool result,设置成功返回true,失败返回false

  • 例子

audio.setTTSSpeed(70)

audio.setChannel(channel)

设置音频输出通道

设置后实时生效

  • 参数

传入值类型

释义

number

可选参数,默认为``2``*,channel,0:earphone听筒 1:headphone耳机 2:speaker喇叭

  • 返回值

nil

  • 例子

-- 设置为听筒输出:audio.setChannel(0)
-- 设置为耳机输出:audio.setChannel(1)
-- 设置为喇叭输出:audio.setChannel(2)