前端API音视频
HWH5.recordAudio
HWH5.playMedia
HWH5.playAudio
HWH5.getBackgroundAudioManager
HWH5.recordAudio
扫码体验:
根据type,传入录音事件
请求参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
type | String | 是 | 开始录音:startTape 暂停录音:pauseTape 继续录音:continueTape 取消录音:cancelTape 结束录音:endTape |
sampleRate | String | 否 | 采样率 8k, 16k, 44.1k,默认16k |
format | String | 否 | 音频格式 pcm, wav, mp3,默认pcm, mp3格式只支持16位编码码率和单通道 |
encodeBitRate | String | 否 | 编码率 8bit,16bit,默认16bit |
numberOfChannels | String | 否 | 录音通道数 通道数:1/2,默认单通道1 |
返回说明
系统能够正常开始录音时,开始录音,暂停录音,继续录音不会回调事件,只有取消录音、正常结束录音、系统打断录音、直接退出录音页面,才会回调。
录音正常,返回数据。
参数 | 说明 |
---|---|
duration | 录制时长,单位毫秒 |
filePath | 录制文件路径,文件格式为mp3 |
status | 录制结束状态:1 正常结束录音,2 系统声音打断结束录音,3 直接退出页面结束录音 |
请求示例
ES6版本
HWH5.recordAudio({ type: 'startTape', sampleRate: '8000', format: 'mp3', encodeBitRate: '8', numberOfChannels: '1' }).then(data => { console.log(data); }).catch(error => { console.log('启动录音异常', error); });
ES5版本
HWH5.recordAudio({ type: 'startTape', sampleRate: '8000', format: 'mp3', encodeBitRate: '16', numberOfChannels: '1' }).then(function (data) { console.log(data); }).catch(function (error) { console.log('启动录音异常', error); });
接口说明
发起录音后,取消录音,回调数据。
开始录音时,正在通话中,录音失败。
开始录音时,正在播放音乐,系统声音,录音失败。
重复调用开始录音,录音失败。
结束录音时找不到文件名。
录音失败(录音功能异常)。
请求参数
参数 | 说明 |
---|---|
message | 删除录音文件信息(cancelRecord deleteFile) |
返回说明
参数 | 说明 |
---|---|
errorCode | 错误码 20105:启动录音失败 20106:重复调用开始录音 20107:结束录音时找不到文件名 20108:录音失败(录音功能异常) |
message | 错误信息 |
注:取消录音失败,只有message,没有errorCode返回。
HWH5.playMedia
扫码体验:
音视频播放
所支持的视频编码格式: h263p,h263i,h263,h264,hevc(H265),mpeg4,mpegvideo,mpegts,mpegps,rawvideo,asf,m4v,rm,mov,rtp,rtsp,sdp,hls,flv,rtmp
所支持的音频编码格式:aac,aac_latm,mp3adufloat,mp3float,mp3on4float,mp3on4,mp3adu,mp3,ac3,mov,libspeex
所支持的封装格式:.mp4 .flv .m3u8 .mov .ts .mp3 .rm .asf *.m4v
请求参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
url | String | 否 | 播放的音、视频地址 |
title | String | 否 | 音、视频标题 |
注:打开本地资源需要file://xxx 开头
返回说明
无
请求示例
ES6版本
HWH5.playMedia({ url: '', title: '' }).catch(error => { console.log('获取异常', error); });
ES5版本
HWH5.playMedia({ url: '', title: '' }).catch(function (error) { console.log('获取异常', error); });
HWH5.playAudio
扫码体验:
音频播放
所支持的音频编码格式:aac,aac_latm,mp3adufloat,mp3float,mp3on4float,mp3on4,mp3adu,mp3,ac3,mov,libspeex
所支持的封装格式:*.mp3
请求参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
url | String | 是 | 播放的音频地址,目前只支持在线地址 |
imageUrl | String | 否 | 图片地址 |
title | String | 否 | 音频标题 |
desc | String | 否 | 音频描述信息,如作者 |
onStop | Function | 否 | 用户停止播放时候的事件回调,并返回播放进度 |
onPause | Function | 否 | 用户暂停播放时候的事件回调,并返回播放进度 |
startTime | Number | 否 | 指定进度开始播放 |
返回说明
无
请求示例
ES6版本
HWH5.playAudio({ url: '', imageUrl: '', title: '', onStop: (data) => { console.log('onStop', data); }, onPause: (data) => { console.log('onPause', data); }, desc: '', startTime: 60 }).catch(error => { console.log('获取异常', error); });
ES5版本
HWH5.playAudio({ url: '', imageUrl: '', title: '', onStop: function(data) { console.log('onStop', data); }, onPause: function(data) { console.log('onPause', data); }, desc: '' }).catch(function (error) { console.log('获取异常', error); });
HWH5.getBackgroundAudioManager
扫码体验:
背景音频播放
所支持的音频编码格式:aac,aac_latm,mp3adufloat,mp3float,mp3on4float,mp3on4,mp3adu,mp3,ac3,mov,libspeex
所支持的封装格式:*.mp3
请求参数
audioManager 音频管理器属性说明
参数 | 类型 | 读写特性 | 说明 |
---|---|---|---|
url | String | 读/写 | 播放的音频地址,目前只支持在线地址(url改变会默认自动开始播放) |
startTime | Number | 读/写 | 第一次播放开始时间,单位为s |
background | Bool | 读/写 | 是否切后台播放 |
repeat | Bool | 读/写 | 是否循环播放 |
playbackSpeed | Number | 读/写 | 倍数 0.5/1/1.25/1.5/2 |
audioManager 音频管理器方法说明
方法名 | 参数 | 说明 |
---|---|---|
play | 播放 | |
pause | 暂停 | |
stop | 停止 | |
seek | position | 跳转到制定位置position,以秒为单位 |
onPlay | callback | 背景音频播放事件 |
onPause | callback | 背景音频暂停事件 |
onStop | callback | 背景音频停止事件 |
onEnded | callback | 背景音频自然播放结束事件 |
replaceString | callback | 背景音频播放错误事件 |
onTimeUpdate | callback | 背景音频播放进度更新事件 |
返回说明
无
请求示例
ES6版本
const audioManager = HWH5.getBackgroundAudioManager(); // 获取全局唯一的背景音频管理器 audioManager.startTime = 0; // 第一次播放开始时间,单位为s audioManager.background = true; // 是否切后台播放 audioManager.repeat = true; // 是否循环播放 audioManager.playbackSpeed = 1; // 倍数 0.5/1/1.25/1.5/2 audioManager.url = 'http://imss-video.huawei.com/video/play/123/123/audio.m3u8'; //播放url,url改变会默认自动开始播放 audioManager.play(); audioManager.pause(); audioManager.stop(); audioManager.seek(position); // position,以秒为单位 audioManager.onPlay = () => { }; audioManager.onPause = () => { }; audioManager.onStop = () => { }; audioManager.onEnded = () => { }; audioManager.replaceString = (err) =>{ }; audioManager.onTimeUpdate = (data) => { /* data:{ currentTime: 1, //当前时间,单位为秒 duration: 100 // 音频总时长,单位为秒 } */ };
ES5版本
var audioManager = HWH5.getBackgroundAudioManager(); // 获取全局唯一的背景音频管理器 audioManager.startTime = 0; // 第一次播放开始时间,单位为s audioManager.background = true; // 是否切后台播放 audioManager.repeat = true; // 是否循环播放 audioManager.playbackSpeed = 1; // 倍数 0.5/1/1.25/1.5/2 audioManager.url = 'http://imss-video.huawei.com/video/play/123/123/audio.m3u8'; // 播放url,url改变会默认自动开始播放 audioManager.play(); audioManager.pause(); audioManager.stop(); audioManager.seek(position); // position,以秒为单位 audioManager.onPlay = function () { }; audioManager.onPause = function () { }; audioManager.onStop = function () { }; audioManager.onEnded = function () { }; audioManager.replaceString = function (err) { console.log('err = ', err); }; audioManager.onTimeUpdate = function (data) { /* data:{ currentTime: 1, // 当前时间,单位为秒 duration: 100 // 音频总时长,单位为秒 } */ };
- 点赞
- 收藏
- 关注作者
评论(0)