4

Phonegap の Webview での HLS 再生をサポートしていない Android を回避する方法として JWPlayer を使用しようとしています (または、少なくとも WebM ストリームとhttps://github.com/のビデオ プラグインでのみ動作させることができません)。 macdonst/VideoPlayer、HLS ストリームはオーディオのみを提供します)

ユーザーがフラッシュをインストールする必要があることは知っていますが、現時点で私にとって最も重要なことは、RTMP または HLS (.m3u8) をデバイスに表示することです (2.3、4.0、または 4.1 のうち、動作する方)。

ただし、Android で JWplayer を実装すると、「プレーヤーの読み込みエラー: 再生可能なソースが見つかりません」というエラーが表示され続けます。これまでのところ、シミュレーターでのみテストしました。

コードは特別なものではありません。コードバ 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 は、Adobe が Android Flash のサポートを終了したことへの対応として、Android での Flash をサポートしなくなりました。Android 2.3 の時点では、HTML5 (したがって MP4/WebM のみ) のみがサポートされています。

HTTP ライブ ストリーミングでは、Android での HTML5 のサポートが制限されています。4.0+ でのみ再生され、いくつかの重大なバグがあります: ディスプレイのアスペクト比が認識されず、オンデマンド HLS ストリームがライブのように動作します (タイムラインなし、シークなし)。

Android でのストリーミングの最適なソリューションは、ネイティブ アプリの HLS をサポートする SDK を活用することです。いくつかの会社がそのような SDK を提供しています (devicedrm.com や nexstreaming.com など)。ただし、そのようなソリューションが Phonegap で機能するかどうかはわかりません。

于 2012-12-05T12:43:35.000 に答える