当前位置:   article > 正文

腾讯web(H5)推流解决方案_h5 推流

h5 推流

最近做web直播开播,遇到推流的问题,采用的方案为写原生web,外挂vue 方式,然后结合手机端开播。

期间遇到了一些问题,记录一下。

 1、自适应H5移动设备,按照750宽度处理。

  1. <script>
  2. (function (doc, win) {
  3. var docEl = doc.documentElement;
  4. resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize';
  5. recalc = function () {
  6. var clientWidth = docEl.clientWidth;
  7. if (!clientWidth) return;
  8. docEl.style.fontSize = 50 * (clientWidth / 750 / 50) + 'px';
  9. };
  10. if (!doc.addEventListener) return;
  11. win.addEventListener(resizeEvt, recalc, false);
  12. doc.addEventListener('DOMContentLoaded', recalc, false);
  13. }(document,window));
  14. </script>

2、直接引入腾讯直播SDK

 <script src="https://video.sdk.qcloudecdn.com/web/TXLivePusher-2.1.0.min.js" charset="utf-8"></script> 

3、创建vue 

  1. const pushView = new Vue({
  2. el: "#app",
  3. data: {}
  4. })

4、初始化推流SDK

  1. initLivePush() {
  2. return new Promise((resolve, reject) => {
  3. try{
  4. const livePusher = new TXLivePusher()
  5. livePusher.setRenderView('live-video-player-anchor');
  6. this.livePusher = livePusher
  7. // 获取设备列表
  8. // 打开摄像头
  9. livePusher.startCamera().then( (res) => {
  10. vant.Notify({ type: 'success', message: '打开摄像头成功' })
  11. this.getDeviceList()
  12. })
  13. .catch(function (error) {
  14. vant.Notify({ type: 'danger', message: '打开摄像头失败' })
  15. });
  16. // 打开麦克风
  17. livePusher.startMicrophone()
  18. .then(function (res) {
  19. vant.Notify({ type: 'success', message: '打开麦克风成功' })
  20. })
  21. .catch(function (error) {
  22. vant.Notify({ type: 'danger', message: '打开麦克风失败' })
  23. })
  24. resolve(1)
  25. }catch(e){
  26. reject(0)
  27. }
  28. }).catch((err) => {
  29. reject(0)
  30. })
  31. },

以上就是大概流程,欢迎沟通。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/942555
推荐阅读
相关标签
  

闽ICP备14008679号