2012-12-04 79 views
4

我正在尝试使用JWPlayer作为一种解决方案,不支持在Phonegap中的Webview中HLS播放(或者至少我无法让它工作,只能使用WebM流和https://github.com/macdonst/VideoPlayer上的视频插件,HLS流只给出音频)在Android中使用JWplayer进行流媒体视频播放

我知道用户需要安装闪存,但目前对我来说最重要的是获取设备上显示的RTMP或HLS(.m3u8) 2.3,4.0或4.1,以工作为准!)

但是我一直在android中执行JWplayer时出现“Error loading player:no playable sources found”错误。到目前为止,我只在模拟器中进行过测试。

的代码是没有什么花哨,在HTML文件中,包括科尔多瓦JS我要做的就是后:

<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

此代码是否在默认Android浏览器中工作? –

回答

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一起使用。

+2

我只想补充一下,HTTP Live Streaming是在Android 4.0中引入的,但在4.1中下降了。 [参考 - HTML5视频的状态](http://www.longtailvideo.com/html5/) –