默认
发表评论 3
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
mRecorder.ondataavailable这个回调MediaRecorder里面什么情况下会被调用
阅读(22488) | 评论(3 收藏 淘帖
var mRecorder = new MediaRecorder(stream, options);

    mRecorder.ondataavailable = function(event) {
      if (event.data.size > 0 && !instance.pause) {
        //console.log('event.data size > 0 :' + event.data.size);
        if (downloadWebM)
          recordedChunks.push(event.data);
        shareVid.src = URL.createObjectURL(event.data);
        fetch(shareVid.src).then(function(res) {
          return res.arrayBuffer();
        }).then(function(buff) {
          var ebmlElms = decoder.decode(buff);
          //console.log(ebmlElms);
         
          for (var entry in ebmlElms) {
          if (ebmlElms[entry]['name'] === 'SimpleBlock') {
              var data = ebmlElms[entry]['data'].subarray(4, ebmlElms[entry]['data'].length);
          if (downloadH264)
//            recordedChunks.push(data);
              eMirroring.sendVideoStreamh264(data);
//            eMirroring.sendStreamH264(data);
//            eMirroring.sendStreamPic(STREES_FORMAT.OUT_PIX_FMT_H264, instance.DisplayW, instance.DisplayH, data.length, data);
            }
          }
        });
      } else {
        //console.log('event.data size < 0');
      }
    };
    mRecorder.onerror = function() {
    }
    mRecorder.onstart = function() {
    }
    mRecorder.onstop = function(){
      if (downloadWebM || downloadH264) {
      //  background['Capture'].downloadVidFunc();
      }
    };
    return mRecorder;
  }



mRecorder.ondataavailable这个回调MediaRecorder这个API里面什么情况下会被调用 什么情况下会被断开

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

推荐方案
评论 3
你是在做短视频录制功能吗。MediaRecorder的生命周期你可以详细查查官方的资料,建议深入了解一下再动手。
是的,本来是调用了MediaRecorder.start(timeSlice)以后就会调用就会每隔timeSlice 毫秒调用一次MediaRecorder.ondataavailable ; 但是现在的情况是我把屏幕投到服务端由于画面像素复杂导致MediaRecorder.ondataavailable 异常不在被调用,我查了很多资料都查不到解决的办法,就想有问下有什么函数是否可以捕获该异常,然后重新调用MediaRecorder.ondataavailable
签名: 难受想哭蓝瘦香菇
引用:飞落舞 发表于 2018-03-07 19:51
是的,本来是调用了MediaRecorder.start(timeSlice)以后就会调用就会每隔timeSlice 毫秒调用一次MediaRecor ...

你仔细看下MediaRecorder的官方最佳实践,肯定可以捕获异常的
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部