html5-plus
Version:
html5 plus typescript DefinitelyTyped (alpha...)
157 lines (143 loc) • 4.75 kB
TypeScript
/**
* Typescript 声明文件
* @author westsky
* @description Html 5+ plus.audio
*/
declare namespace plus.audio{
/**
* 设备的扬声器音频输出线路
*/
const ROUTE_SPEAKER = 0;
/**
* 设备听筒音频输出线路
*/
const ROUTE_EARPIECE= 1;
/**
* 获取当前设备的录音对象
*/
function getRecorder():AudioRecorder;
/**
* 创建音频播放对象
* @param path 要播放的音频文件的路径
*/
function createPlayer(path:String):AudioPlayer;
/**
* 录音对象
*/
class AudioRecorder{
/**
* 数组,设备录音支持的采用率
*/
readonly supportedSamplerates:String[];
/**
* 数组,设备录音支持的文件格式
*/
readonly supportedFormats: String[];
/**
* 调用设备麦克风进行录音操作
* @description
* 调用设备麦克风开始录音操作,录音完成需调用stop方法停止。录音完成后将通过successCB回调返回录音后的文件数据。
* @param option
* @param successCB
* @param errorCB
*/
record( option:RecordOptions, successCB:RecordSuccessCallback, errorCB?:AudioErrorCallback):void;
/**
* 结束录音操作
*/
stop():void;
}
/**
* JSON对象,调用麦克风设备进行录音的参数
*/
interface RecordOptions{
/**
* 录音声道,可取值: "mono" - 单声道录音; "stereo" - 立体声道录音。 默认值为"mono"。
* @description
* 平台支持
* Android - ALL (不支持): 暂不支持,仅支持单通道录音。
* iOS - 7.0+ (支持)
*/
channels?:String;
/**
* 保存录音文件的路径
* @description
* 可设置具体文件名,也可只设置路径,如果以“/”结尾则表明是路径,文件名由录音程序自动生成。 如未设置则使用默认目录生成随机文件名称,默认目录为应用%APPID%下的documents目录。
*/
filename?:String;
/**
* 录音文件的采样率
* @description 需通过supportedSamplerates属性获取设备支持的采样率,若设置无效的值,则使用系统默认的采样率。
*/
samplerate?:String;
/**
* 录音文件的格式
* @description
* 需通过supportedFormats属性获取设备支持的录音格式,若设置无效的值,则使用系统默认的录音格式。
* Android - 2.2+ (支持): Android平台支持"amr"、"3gp"格式,默认为"amr"。
* iOS - 4.5+ (支持): iOS平台支持"wav"、"aac"、"amr"格式,默认为"wav"。
*/
format?:String;
}
/**
* 音频播放对象
* @description
* 音频播放对象,用于音频文件的播放。不能通过new方法直接创建,只能通过audio.createPlayer方法创建。
*/
interface AudioPlayer{
/**
* 开始播放音频
* @param successCB
* @param errorCB
*/
play( successCB:PlaySuccessCallback, errorCB?:AudioErrorCallback );
/**
* 暂停播放音频
*/
pause();
/**
* 恢复播放音频
*/
resume();
/**
* 停止播放音频
*/
stop();
/**
* 跳到指定位置播放音频
* @param position 音频播放要跳到的位置,单位为s
*/
seekTo(position:Number );
/**
* 获取音频流的总长度
*/
getDuration():Number;
/**
* 获取音频流当前播放的位置
*/
getPosition():Number;
/**
* 设置音频输出线路
* @param route 音频播放时输出线路常量,可设置audio的ROUTE_*常量值,设置后立即生效。
*/
setRoute( route :Number):void;
}
/**
* 录音操作成功回调
*/
interface RecordSuccessCallback{
onSuccess?(recordFile :string):void;
}
/**
* 播放音频文件操作成功回调
*/
interface PlaySuccessCallback{
onCompleted?():void;
}
/**
* 音频操作失败回调
*/
interface AudioErrorCallback {
onError?(error?: DOMException): void | any; //匿名方法委托
}
}