audio
Audio模块用于提供音频的录制和播放功能,可调用系统的麦克风设备进行录音操作,也可调用系统的扬声器设备播放音频文件。通过plus.audio获取音频管理对象。
常量:
- ROUTE_SPEAKER: 设备的扬声器音频输出线路
- ROUTE_EARPIECE: 设备听筒音频输出线路
方法:
- getRecorder: 获取当前设备的录音对象
- createPlayer: 创建音频播放器对象
对象:
- AudioRecorder: 录音对象
- AudioPlayer: 音频播放对象
- AudioPlayerEvent: 音频播放控件事件类型
- AudioPlayerStyles: 音频播放对象的参数
- AudioRecorderStyles: 音频录制的参数
回调方法:
- RecordSuccessCallback: 录音操作成功回调
- PlaySuccessCallback: 播放音频文件操作成功回调
- AudioErrorCallback: 音频操作失败回调
权限:
5+功能模块(permissions)
{ // ... "permissions":{ // ... "Audio": { "description": "音频" } } }
AudioRecorder
录音对象
interface AudioRecorder { readonly attribute String[] supportedSamplerates; readonly attribute String[] supportedFormats; function record( option, successCB, errorCB ); function stop(); }
属性:
- supportedSamplerates: 数组,设备录音支持的采用率
- supportedFormats: 数组,设备录音支持的文件格式
方法:
AudioPlayer
音频播放对象
interface AudioPlayer { function void close(); function Boolean isPaused(); function void play(successCB, errorCB); function void pause(); function void resume(); function void stop(); function void seekTo(position); function Number getBuffered(); function Number getDuration(); function Number getPosition(); function void setRoute(route); function void setSessionCategory(category); }
说明:
音频播放对象,用于音频文件的播放。不能通过new方法直接创建,只能通过audio.createPlayer方法创建。
方法:
- addEventListener: 添加事件监听器
- close: 关闭音频播放对象
- getBuffered: 音频缓冲的时间点
- getDuration: 获取音频的总长度
- getPosition: 获取音频的当前播放位置
- getStyles: 音频播放的参数
- isPaused: 当前是否暂停或停止状态
- play: 播放音频
- pause: 暂停播放
- removeEventListener: 移除事件监听器
- resume: 恢复播放
- seekTo: 跳到指定位置
- stop: 停止播放
- setRoute: 音频输出线路
- setSessionCategory: 设置音频播放模式
- setStyles: 设置音频播放的参数
AudioPlayerEvent
音频播放控件事件类型
常量:
- "canplay": (String
类型
)音频可以播放事件
- "play": (String
类型
)音频播放事件
- "pause": (String
类型
)音频暂停事件
- "stop": (String
类型
)音频停止事件
- "ended": (String
类型
)音频自然播放结束事件
- "error": (String
类型
)音频播放错误事件
- "waiting": (String
类型
)音频加载中事件
- "seeking": (String
类型
)音频进行seek操作事件
- "seeked": (String
类型
)音频完成seek操作事件
- "prev": (String
类型
)上一曲操作事件
用户在后台播放控制器上点击上一曲按钮时触发,未开启后台控制器则不触发此事件。
- "next": (String
类型
)下一曲操作事件
用户在后台播放控制器上点击下一曲按钮时触发,未开启后台控制器则不触发此事件。
AudioPlayerStyles
音频播放对象的参数
属性:
- autoplay: (Boolean
类型
)是否自动开始播放
true - 自动开始播放; false - 不自动开始播放。 默认值为false。
- backgroundControl: (Boolean
类型
)是否开启后台控制器
开启后应用切换到后台可继续播放音频。 iOS平台在系统锁屏界面显示播放控件;Android平台暂不支持。
- coverImgUrl: (String
类型
)封面图地址
在后台播放控制器上显示,未开启后台控制器则不显示。
- epname: (String
类型
)专辑名
在后台播放控制器上显示,未开启后台控制器则不显示。
- loop: (Boolean
类型
)是否循环播放
true - 循环播放; false - 不循环播放。 默认值为false。
- singer: (String
类型
)歌手名
在后台播放控制器上显示,未开启后台控制器则不显示。
- src: (String
类型
)音频资源的地址
支持本地路径和网络路径。
- startTime: (Number
类型
)开始播放的位置
单位为秒(s),默认值为0。
- title: (String
类型
)音频标题
在后台播放控制器上显示,未开启后台控制器则不显示。
- volume: (Number
类型
)音量
取值范围为0-1,默认值为1。
AudioRecorderStyles
音频录制的参数
属性:
- channels: (String
类型
)录音声道
可取值: "mono" - 单声道录音; "stereo" - 立体声道录音。 默认值为"mono"。
- filename: (String
类型
)保存录音文件的路径
可设置具体文件名,也可只设置路径,如果以“/”结尾则表明是路径,文件名由录音程序自动生成。 如未设置则使用默认目录生成随机文件名称,默认目录为应用%APPID%下的documents目录。
- samplerate: (String
类型
)录音文件的采样率
需通过supportedSamplerates属性获取设备支持的采样率,若设置无效的值,则使用系统默认的采样率。
- format: (String
类型
)录音文件的格式
需通过supportedFormats属性获取设备支持的录音格式,若设置无效的值,则使用系统默认的录音格式。
RecordSuccessCallback
录音操作成功回调
void onSuccess( recordFile ) { // Get record file code. }
说明:
麦克风录音操作成功的回调函数,在录音操作完成调用stop()方法时调用。
参数:
- recordFile:
(
String
)
必选 录音操作保存的音频文件路径
返回值:
void : 无PlaySuccessCallback
播放音频文件操作成功回调
void onCompleted() { // Play audio file completed code. }
说明:
音频播放操作成功的回调函数,在音频播放完成或调用stop()方法时触发。
参数:
无
返回值:
void : 无AudioErrorCallback
音频操作失败回调
void onError( error ) { // Handle audio error }
参数:
- error:
(
DOMException
)
必选 音频操作的错误信息