Phonegap で構築された Android 用の非常にシンプルな HTML5 ビデオ ストリーミング アプリケーションがあります。これをテストしているデバイスは、Samsung Galaxy Tab 2 です。ビデオはまったくストリーミングされません。Eclipse Logcat ウィンドウに次のエラーが表示されます。
02-22 09:34:56.489: D/HTML5VideoView(6029): requestAudioFocus() called. proxy = Handler (android.webkit.HTML5VideoViewProxy) {4176a958}
02-22 09:34:56.489: D/HTML5VideoView(6029): requested AudioFocus. videoView = android.webkit.HTML5VideoFullScreen@416fbd50
02-22 09:34:56.512: V/MotionRecognitionManager(6029): .registerListenerEvent : success. listener count = 0->1, motion_sensors=1, listener=android.webkit.HTML5VideoView$1@416fbdd0
02-22 09:35:04.504: E/MediaPlayer(6029): internal/external state mismatch corrected
02-22 09:35:04.504: W/IMediaDeathNotifier(6029): media server died
02-22 09:35:04.504: W/AudioSystem(6029): AudioFlinger server died!
02-22 09:35:04.504: E/MediaPlayer(6029): error (100, 0)
02-22 09:35:04.551: E/MediaPlayer(6029): Error (100,0)
*******************************************************************************************
Here's my HTML code and Javascript code:
<script src="cordova-2.4.0.js"></script>
<script>
function onLoad(){
document.addEventListener("deviceready", onDeviceReady, true);
}
function onDeviceReady(){
navigator.notification.alert("PhoneGap is working!!");
}
</script>
</head>
<body onload="onLoad();">
<h1>Digital Home HTML5 Video Streaming Test</h1>
<video preload="metadata" src="rtsp://nnn.nnn.nnn.nnn/stream1" controls></video>
</body>
これは、Galaxy タブでサーバーが停止したと解釈されている実際のストリームを開始する前に、サーバーが短い紹介ビデオ (またはポスター) を送信しているためではないかと考えています。この動作を処理するためにリスナーを追加する必要があるイベントがわかりません。終了したイベントのリスナーを追加すると、無限ループでスピンしてしまうことがありますか? ストリームは、iPad と、Android マーケットからダウンロードした別の RTSP プレーヤーで正常に動作します。私は何が欠けていますか?
VLC でストリームを再生できるので、SDP の説明は問題ないはずです
ありがとう