前端API音视频

举报
云会议运营喵大人 发表于 2020/02/14 17:54:03 2020/02/14
【摘要】 HWH5.recordAudioHWH5.playMediaHWH5.playAudioHWH5.getBackgroundAudioManagerHWH5.recordAudio支持版本>=10.0.5扫码体验:根据type,传入录音事件请求参数参数类型必填说明typeString是开始录音:startTape 暂停录音:pauseTape继续录音:continueTape取消录音:can...


HWH5.recordAudio
HWH5.playMedia
HWH5.playAudio
HWH5.getBackgroundAudioManager


HWH5.recordAudio

支持版本>=10.0.5

扫码体验:

1581673974615388.png

根据type,传入录音事件

请求参数

参数类型必填说明
typeString开始录音:startTape
暂停录音:pauseTape
继续录音:continueTape
取消录音:cancelTape
结束录音:endTape
sampleRateString采样率 8k, 16k, 44.1k,默认16k
formatString音频格式 pcm, wav, mp3,默认pcm, mp3格式只支持16位编码码率和单通道
encodeBitRateString编码率 8bit,16bit,默认16bit
numberOfChannelsString录音通道数 通道数: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

支持版本>=10.0.2

扫码体验:

1581673989310937.png

音视频播放

  • 所支持的视频编码格式: 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

请求参数

参数类型必填说明
urlString播放的音、视频地址
titleString音、视频标题

注:打开本地资源需要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

支持版本>=10.0.2

扫码体验:

1581674001949116.png

音频播放

  • 所支持的音频编码格式:aac,aac_latm,mp3adufloat,mp3float,mp3on4float,mp3on4,mp3adu,mp3,ac3,mov,libspeex

  • 所支持的封装格式:*.mp3

请求参数

参数类型必填说明
urlString播放的音频地址,目前只支持在线地址
imageUrlString图片地址
titleString音频标题
descString音频描述信息,如作者
onStopFunction用户停止播放时候的事件回调,并返回播放进度
onPauseFunction用户暂停播放时候的事件回调,并返回播放进度
startTimeNumber指定进度开始播放

返回说明

请求示例

  • 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

支持版本>=10.0.1

扫码体验:

1581674015306687.png

背景音频播放

  • 所支持的音频编码格式:aac,aac_latm,mp3adufloat,mp3float,mp3on4float,mp3on4,mp3adu,mp3,ac3,mov,libspeex

  • 所支持的封装格式:*.mp3

请求参数

  • audioManager 音频管理器属性说明

参数类型读写特性说明
urlString读/写播放的音频地址,目前只支持在线地址(url改变会默认自动开始播放)
startTimeNumber读/写第一次播放开始时间,单位为s
backgroundBool读/写是否切后台播放
repeatBool读/写是否循环播放
playbackSpeedNumber读/写倍数 0.5/1/1.25/1.5/2
  • audioManager 音频管理器方法说明

方法名参数说明
play
播放
pause
暂停
stop
停止
seekposition跳转到制定位置position,以秒为单位
onPlaycallback背景音频播放事件
onPausecallback背景音频暂停事件
onStopcallback背景音频停止事件
onEndedcallback背景音频自然播放结束事件
replaceStringcallback背景音频播放错误事件
onTimeUpdatecallback背景音频播放进度更新事件

返回说明

请求示例

  • 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                                     // 音频总时长,单位为秒
        }
      */
      };


【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。