使用JS或PHP = MediaElementJS

时间:2018-09-16 15:37:15

标签: javascript php html5-video src mediaelement.js

下午好。 当用户单击带有img的div时,我试图更改视频播放器 MediaElement.Js 的视频源,例如:

<a href="http://dns:port/hls/125.m3u8"><div id="change_channel><img src="https://www.example.com/img_chh/fox.png"></div></a>

我找到了其他一些用户的答案,这些用户想要更改html5视频的来源,但只使用两个流。我遇到的问题是我有+400个流,并且其他用户的答案的代码行不再起作用...

我试图运行此代码,但是它不起作用:

<a href="http://dns:port/live/123.m3u8" onclick="
  playerObject.pause();
  playerObject.setSrc(this.href);
  playerObject.media.load();
  playerObject.load();
  return false
"><div id="change_channel><img src="https://www.example.com/img_chh/fox.png"></div></a>

与下载所有文件以运行MediaElement.js相比,我将把完整的代码保留在codepen中进行调试。 https://codepen.io/Hacker_D/pen/vzzKgM 如果有人知道如何解决此问题,我将很感激。 问候,DiX

1 个答案:

答案 0 :(得分:0)

首先,由于playerObject没有引用任何内容,因此给定的代码当然行不通,如果要引用<video>元素,则行playerObject.media.load();无效,因为Audio/Video DOM element上没有这样的属性。至少在某处初始化它(给您的<video>标记和ID,然后在某处进行playerObject = document.getElementById(<the id of your video element>);

我分叉了您提出问题的链接,并修复了javascript(https://codepen.io/anon/pen/gddogL),但由于视频网址无效,因此无法播放,但不再出现任何javascript错误。因此,如果您拥有有效的视频网址,则至少可以修改它。

关于视频数量,由于您标记了php,因此只需创建一个通用的javascript函数即可将源代码设置为播放器,并在生成页面时将正确的源代码放入每个点击处理程序中。

相关问题