我有一个非常简单的使用 Phonegap 构建的 Android 的 HTML5 视频流应用程序。我正在测试的设备是三星 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 描述必须是好的
谢谢