在Android中使用JWplayer在Phonegap中播放视频流

时间:2012-12-04 20:55:57

标签: android cordova video streaming rtmp

我正在尝试使用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应用程序。

谢谢!

1 个答案:

答案 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。