我正在尝试使用JWPlayer作为一种绕过Android而不支持在Phonegap中的Webview中进行HLS播放的方法(或者至少我不能让它工作,只有使用WebM流和https://github.com/macdonst/VideoPlayer上的视频插件,HLS流只提供音频)
我知道用户需要安装闪存,但目前对我来说最重要的是在设备上显示RTMP或HLS(.m3u8)(2.3,4.0或4.1,无论哪个都有效!)
然而,当我在android中实现JWplayer时,我一直收到“Error loading player:找不到可播放的源代码”错误。到目前为止,我只在模拟器中测试过。
代码没什么特别的,在包含cordova JS之后的HTML文件中我所做的就是:
<script type="text/javascript" src="jwplayer/jwplayer.js" ></script>
<script type="text/javascript">jwplayer.key="b+mykey"</script>
<div id="my-video"></div>
<script type="text/javascript">
jwplayer('my-video').setup({
flashplayer: "javascripts/lib/jwplayer/player.swf",
streamer: "rtmp://myserveraddressgoeshere",
file: "corecctfile.goeshere-sdh",
provider:"rtmp",
autostart: 'true',
controlbar: "over",
width: '720',
height: '405'
});</script>
显然,我有正确的路径,但出于客户隐私原因,这里模糊了它们。
有没有人知道为什么这不起作用?或者我如何让RTMP / HLS流在Android设备上运行? 如上所述,该应用程序是PhoneGap应用程序。
谢谢!
答案 0 :(得分:6)
JW Player不再支持Android上的Flash,因为对Adobe的回应也放弃了Android Flash支持。从Android 2.3开始,仅支持HTML5(因此仅支持MP4 / WebM)。
HTTP Live Streaming确实对Android中的HTML5提供了有限的支持。它只在4.0+中播放,并且有一些关键错误:无法识别显示宽高比,按需HLS流就像现场一样(没有时间线;没有寻求)。
Android上流媒体的最佳解决方案是利用支持原生应用HLS的SDK。有几家公司提供这样的SDK(例如devicedrm.com或nexstreaming.com)。我不知道这些解决方案是否适用于Phonegap。