1

loadUrl() を使用して、アセット フォルダーから WebView に HTML ファイルを読み込んでいます。HTML ファイルは、assets フォルダーに埋め込まれた JW Player swf を参照します。

JW Player でリモート URL を再生したい。悲しいことに、そうはなりません。

別のサーバーからリモートで SWF をロードすると (アセット フォルダー内の SWF を使用する代わりに)、外部 URL にアクセスできます。この場合、外部 URL は RTMP ストリームです。例えば:

<!DOCTYPE html> 
<html lang='en'>
<head><meta charset='utf-8'> 
</head>
<body style='margin:0; pading:0;background-color: #000000;'>
    <script type='text/javascript' src='http://developer.longtailvideo.com/svn/trunk/fl5/jwplayer.min.js'></script>

    <div id='mediaspace'>This text will be replaced</div>

    <script type='text/javascript'>
      jwplayer('mediaspace').setup({
        'flashplayer': 'http://developer.longtailvideo.com/svn/trunk/fl5/player.swf',
        'file': 'testvid.mp4',
        'streamer': 'rtmp://b27i9s9t3.rtmphost.com/AndroidMedia',
        'controlbar': 'bottom',
        'width': '800',
        'height': '450'
      });
    </script>

</body>

...動作します

<!DOCTYPE html> 
<html lang='en'>
<head><meta charset='utf-8'> 
</head>
<body style='margin:0; pading:0;background-color: #000000;'>
    <script type='text/javascript' src='file:///android_asset/jwplayer.min.js'></script>

    <div id='mediaspace'>This text will be replaced</div>

    <script type='text/javascript'>
      jwplayer('mediaspace').setup({
        'flashplayer': 'file:///android_asset/player.swf',
        'file': 'testvid.mp4',
        'streamer': 'rtmp://b27i9s9t3.rtmphost.com/AndroidMedia',
        'controlbar': 'bottom',
        'width': '800',
        'height': '450'
      });
    </script>

</body>

...動作しません。JW Player が読み込まれますが、再生ボタンを押すと、「接続が利用できません: エラー #2028」というメッセージがすばやく表示され、ajax スピナーが永遠にスピンします。

これは、アセット フォルダーから Web ビューに読み込まれたすべての SWF に関する一般的な問題であり、JW Player に固有のものではないと想定しています。

何か案は?

4

0 に答える 0