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 に固有のものではないと想定しています。
何か案は?