audio


简介:

audio模块用于提供音频的录制和播放功能,可调用系统的麦克风设备进行录音操作,也可调用系统的扬声器设备播放音频文件。通过rd.audio获取音频管理对象

方法:

对象:

回调方法:

getRecorder


获取当前设备的录音对象

var recorder = rd.audio.getRecorder();
说明:

获取当前设备的录音对象,进行录音操作,录音对象是设备的独占资源,在同一时间仅可执行一个录音操作,否则可能会导致操作失败。

参数:

返回值:

AudioRecorder : 录音对象

示例:
function RecordSuccessCallback(recordFile){
        alert(recordFile);
    }

    function AudioErrorCallback(error){
        alert(error);
    }

    var recorder = rd.audio.getRecorder();
    var recordOption = {
        filename:'',
        samplerate:'44100',
        format:'aac'
    };
    recorder.record(recordOption,
                RecordSuccessCallback,
                AudioErrorCallback);        

createPlayer


创建音频播放对象

var player = rd.audio.createPlayer(path);
说明:

创建一个音频文件播放对象,用于打开音频文件并播放。 可通过path参数指定要播放的音频文件。创建后返回播放对象,通过Audio.play方法开始播放。

注意:支持手机系统自身支持的所有音频格式
参数:
  • path: ( String ) 必选 音频文件路径, 要播放的音频文件的路径。
返回值:

AudioPlayer : 音频播放对象

示例:
function PlaySuccessCallback(){

}

function AudioErrorCallback(error){
    aler(error);
}

var player = rd.audio.createPlayer("cpts://Audio/test.mp3");
player.play(PlaySuccessCallback,AudioErrorCallback);

AudioRecorder


录音对象,通过getRecorder获取.录音对象是设备的独占资源,在同一时间仅可执行一个录音操作,否则可能会导致操作失败。

方法:

record


调用设备麦克风进行录音操作

var recorder = rd.audio.getRecorder();
recorder.record(RecordOption, RecordSuccessCallback, AudioErrorCallback);
说明:

调用设备麦克风开始录音操作,录音完成需调用stop方法停止。录音完成后将通过successCB回调返回录音后的文件数据,如果失败回调errorCB。

参数:
返回值:

示例
function successCB( recordFile ) {
   alert(recordFile);
}

function errorCB( error ) {
   alert(error);
}

var recordOption = {filename:'',samplerate:'8000',format:'amr',duration : 100};
var recorder = rd.audio.getRecorder();
recorder.record(RecordOption, RecordSuccessCallback, AudioErrorCallback);

getCurrentTime


录音时,获取当前录音时长(单位:ms).

var currentTime = recorder.getCurrentTime();
说明:

在录音过程中,调用此方法,可以获取当前录音时长(单位:ms).录音完毕之后不可调用.

参数:

返回值:
  • currentTime: (Number) 当前录音时长.
示例
var currentTime = recorder.getCurrentTime();
alert(currentTime);

getDuration


获取录音时长上限,如果没有设置录音时长上限(单位:ms),则返回-1.

var duration = recorder.getDuration();
说明:

获取录音时长上限(单位:ms),如果没有设置录音时长上限,则返回-1.

参数:

返回值:
  • duration: (Number) 录音时长上限.
示例
var duration = recorder.getDuration();
alert(duration);

addCalculateTimeCallback


添加计时回调.

recorder.addCalculateTimeCallback(calculateTimeCallback);
说明:

如果此回调被添加,则每秒回调一次.通过回调函数返回当前计时时间(单位:ms).内容为当前录音时长.

参数:
  • calculateTimeCallback: (timeCallback) 必选 计时回调.
返回值:

示例
function calculateTimeCallback(calculaleTime){//计时回调
       alert(calculaleTime);
}
recorder.addCalculateTimeCallback(calculateTimeCallback);

addCountDownCallback


添加倒计时回调.若没有设置录音时长上限,此方法添加的回调函数不会被调用.

recorder.addCountDownCallback(countDownCallback);
说明:

如果此回调被添加,则每秒回调一次.通过回调函数返回当前倒计时时长(单位:ms).内容为录音时长倒计时.

参数:
返回值:

示例
function countDownCallback(countDownTime){//倒计时回调
   alert(countDownTime);
}

recorder.addCountDownCallback(countDownCallback);

addAveragePowerCallback


添加音量监控回调,录音时,当音量分贝有变化时,返回当前音量分贝值.

recorder.addAveragePowerCallback(averagePowerCallback);
说明:

录音时,当音量分贝值有变化时,则通过回调函数返回当前分贝值.此方法添加的回调函数调用频率很高.

参数:
返回值:

示例
function averagePowerCallback(averagePower){//音量回调 分贝值
   rd.log.i(averagePower + '');
}

recorder.addAveragePowerCallback(averagePowerCallback);

playJustRecord


录音完毕之后,播放刚刚录制的声音文件.

recorder.playJustRecord();
说明:

录音完毕之后,播放刚刚录制的声音文件.若想播放其他录音文件,请使用AudioPlayer.

参数:

返回值:

示例
recorder.playJustRecord();

stop


结束录音操作

recorder.stop();
说明:

结束录音操作,通知设备完成录音操作。

参数:

返回值:

示例
recorder.stop();

AudioPlayer


音频播放对象.

说明:

音频播放对象,用于音频文件的播放。通过createPlayer方法创建。

方法:

play


开始播放音频

var player = rd.audio.createPlayer("cpts://Audio/test.mp3");
player.play(PlaySuccessCallback, AudioErrorCallback);
参数:
  • PlaySuccessCallback: 播放音频操作成功回调函数,当音频文件播放成功时回调。

  • AudioErrorCallback:播放音频操作错误回调函数,当音频文件播放发生错误时回调。

返回值:

示例
function PlaySuccessCallback(){

}

function AudioErrorCallback(error){
    aler(error);
}
var player = rd.audio.createPlayer("cpts://Audio/test.mp3");
player.play(PlaySuccessCallback, AudioErrorCallback);

pause


暂停播放音频

player.pause();
说明:

需先调用createPlayer方法创建音频播放对象,并开始播放。音频播放对象在播放状态才能暂停,在其它状态调用此方法无任何作用。

参数:

返回值:

示例
player.pause();

resume


恢复播放音频

player.resume();
说明:

音频播放对象在暂停状态才能恢复播放,在其它状态调用此方法无任何作用。

参数:

返回值:

示例
player.resume();

stop


停止播放音频

player.stop();
说明:

停止播放音频,音频播放对象在播放或暂停状态才能停止播放,在其它状态调用此方法无任何作用。 停止播放后如果需要继续播放,则需调用play方法重新开始播放。

参数:

返回值:

示例
player.stop();

seekTo


跳到指定位置播放音频

player.seekTo(position);
说明:

跳到指定位置播放音频,音频播放对象在播放或暂停状态才能跳到指定播放音频,在其它状态调用此方法无任何作用。

参数:
  • position: (Number) 必选 音频播放要跳到的位置,单位为毫秒
返回值:

示例
player.seekTo(position);

getDuration


获取音频流的总长度

player.getDuration();
说明:

获取音频流的总长度,单位为毫秒,若长度未知则返回-1。如果还未获取到音频流信息则返回NaN,此时需要延迟获取此信息。

参数:

返回值:
  • Number : 音频流的总长度
示例
player.getDuration();

getPosition


获取音频流当前播放的位置

player.getPosition();
说明:

获取音频流当前播放的位置(已播放的长度),单位为ms。

参数:

返回值:
  • Number : 当前音频播放的位置,单位为ms,如果音频文件未准备好则返回0。
示例
player.getPosition();

setRoute


获取音频流当前播放的位置

player.setRoute(route);
说明:

可在音频文件开始播放前或播放的过程中改变音频输出线路,默认使用扬声器(rd.audio.ROUTE_SPEAKER)输出线路。

参数:
  • route:(Number) 必选 音频播放时输出线路常量
    • rd.audio.ROUTE_SPEAKER:值为0,设备的扬声器音频输出线路
    • rd.audio.ROUTE_EARPIECE:值为1,设备听筒音频输出线路
返回值:

示例
player.setRoute(rd.audio.ROUTE_SPEAKER);

isPlaying


是否正在播放

player.isPlaying();
说明:

获取是否正在播放。

参数:

返回值:

布尔值 - true为正在播放,反之false。

示例
var isPlaying = player.isPlaying();

addFinishCallback


添加播放完毕回调

player.addFinishCallback(PlayFinishCallback);
说明:

当播放音乐完毕,通过回调函数通知.

参数:
返回值:

无.

示例
function PlayFinishCallback(){

}

player.addFinishCallback(PlayFinishCallback);

RecordOption


JSON对象,调用麦克风设备进行录音的参数

属性:
  • filename: (String) 可选 保存录音文件的路径.可设置具体文件名,也可只设置路径,如果只设置路径文件名由录音程序自动生成。如果只设置文件名,则保存在默认目录下.iOS:默认目录是temp临时目录.Android:默认目录是协议路径的cache目录.若设置的路径或者文件名插件认为违法,则保存在默认目录下.

  • samplerate: (String) 必选 录音文件的采样率 支持采样率:'8000','44100','96000'.

  • format: (String) 必选 录音文件的格式 支持格式: Android:'aac','amr' ; iOS : 'aac','amr','wav'.(默认安卓、iOS手机都支持amr格式的音频,部分安卓手机不支持aac格式的音频)

  • duration: (Number) 可选 录音时长上限 如果不设置 录音时长无上限(单位为ms).

RecordSuccessCallback


录音操作成功回调

function RecordSuccessCallback(recordFile){

}
说明:

麦克风录音操作成功的回调函数,在录音操作完成调用stop()方法时调用。

参数:
  • recordFile: (String) 必选 录音操作保存的音频文件路径
返回值:

PlaySuccessCallback


播放音频文件操作成功回调

function PlaySuccessCallback(){

}
说明:

播放音频文件操作成功回调

参数:

返回值:

AudioErrorCallback


音频操作失败回调

function AudioErrorCallback(error){

}
参数:
  • error: (String) 必选 音频操作的错误信息
返回值:

PlayFinishCallback


播放音频文件操作成功回调

function PlayFinishCallback(){

}

说明:

播放音频文件完毕回调

参数:

返回值:

无返回值

timeCallback


计时回调函数,用于计时回调和倒计时回调

function timeCallback(time){

}
参数:
  • time: (String) 必选 计时内容.
返回值:

averagePowerCallback


音量监控回调函数.

function averagePowerCallback(averagePower){//音量回调 分贝值

}
参数:
  • averagePower: (Number) 必选 音量分贝值.
返回值: