我正在尝试使用 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 进行一些调整/修改?