4

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

我知道用户需要安装闪存,但目前对我来说最重要的是让 RTMP 或 HLS (.m3u8) 显示在设备上(2.3、4.0 或 4.1,无论哪个有效!)

但是,在 android 中实现 JWplayer 时,我不断收到“加载播放器时出错:找不到可播放的源”错误。到目前为止,我只在模拟器中进行了测试。

代码没什么花哨的,在包含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 应用程序。

谢谢!

4

1 回答 1

6

JW Player 不再支持 Android 上的 Flash,作为对 Adob​​e 也放弃 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。

于 2012-12-05T12:43:35.000 回答