ngx videogular无法在iOS浏览器上播放vgHls流

uinbv5nw  于 2023-02-20  发布在  iOS
关注(0)|答案(1)|浏览(92)

我在我的一个应用程序中使用ngx-videogular来流媒体直播。除了iPhone/iPad的浏览器,它在任何地方都能完美工作。我使用Hls. js和ngx-videogular来流媒体直播。我还需要考虑其他什么来使它在iOS(iPhone或iPad)的浏览器(chrome/safari/firefox)上工作吗?
先谢了

kx5bkwkv

kx5bkwkv1#

我已经找到了解决方案,只是张贴在这里的情况下,如果有人需要在未来
在进一步阅读之前,请先看一下这里详细描述的问题,它帮助我了解了根本原因
https://github.com/video-dev/hls.js#embedding-hlsjs
如果您正在使用npm,则需要将Hls.js添加到angular. json
您必须从videoPlayer组件中的hls.js导入Hls

import Hls from 'hls.js';

并且您需要更新ngAfterViewInit()方法,如下所示

ngAfterViewInit(): void {
    this.videoElement = this.videoElementRef?.nativeElement;
    if (Hls.isSupported()) {
      const hls = new Hls();
      hls.loadSource('your media url');
      hls.attachMedia(this.videoElement);
      hls.on(Hls.Events.MANIFEST_PARSED, function () {
        this.videoElement.play();
      });
    }
    else if (this.videoElement.canPlayType('application/vnd.apple.mpegurl')) {
      this.videoElement.src = 'your media url';
    }
  }

确保在ts文件中创建了HTMLVideoElement和元素引用

@ViewChild('videoPlayer') private videoElementRef: ElementRef;
videoElement!: HTMLVideoElement;

并且您的HTML视频标记需要使用如下引用进行更新

<video #videoPlayer autoplay controls playsinline>

祝你愉快!

相关问题