2

我正在尝试使用 mediaelement.js UI 在 iPad、iPhone 和 Android 中流式传输 hls。

html 如下所示(抱歉,我无法公开我们的 hls 链接):

<video src="testinghls.m3u8"></video>

和脚本:

$('video').mediaelementplayer({
      // if the <video width> is not specified, this is the default
      defaultVideoWidth: 480,
      // if the <video height> is not specified, this is the default
      defaultVideoHeight: 270,
      // specify to force MediaElement to use a particular video or audio type
      type: 'application/x-mpegURL',
      // the order of controls you want on the control bar (and other plugins below)
      features: ['playpause','progress','volume','fullscreen'],
      // Hide controls when playing and mouse is not over the video
      alwaysShowControls: false,
      // force iPad's native controls
      iPadUseNativeControls: false,
      // force iPhone's native controls
      iPhoneUseNativeControls: false,
      // force Android's native controls
      AndroidUseNativeControls: false
    });

这适用于 iPad 和 iPhone,但不适用于 Android。它只是以某种方式检测到视频无法播放并退回到下载链接。

除了我尝试了带有 hls 的纯视频标签之外,无论是否使用 iOS 和 Android 设备中的类型,它都可以正常工作,如下面的两个:

<video src="{{c.get('hls')}}" type="application/x-mpegURL" style="width:320px;height:185px" controls></video>
<video src="{{c.get('hls')}}" style="width:320px;height:185px" controls></video>

我应该如何配置 Mediaelement 以使其工作?或者也许对 Mediaelement.js 进行一些调整/修改?

4

1 回答 1

2

可能是视频编码问题。Android 需要某种编码,这是 MediaElement.js 中的一个值得注意的问题

对此提出了解决方案

于 2012-12-07T14:13:35.157 回答