2014-01-30 87 views
1

我有一個mp4文件,我已經轉換使用H.264基線編碼手剎。這在瀏覽器中正常播放。不能在薑餅設備流視頻

我已經創建了一個應用程序,可以在VideoView中傳輸此視頻。我已經在4.0.1和4.3中測試過了,它工作正常。視頻播放完美無瑕。

使用2.3.3 android模擬器,我可以聽到聲音,但沒有視頻。當我在實際的2.3.3設備(HTC Evo)中試用它時,根本無法播放視頻。我收到「此視頻無法播放」錯誤。我不太確定薑餅是否支持這個功能,但看起來好像是這樣,因爲模擬器至少可以播放音頻。

我在logcat中看到了一些HDMI許可信息,但我不確定它的含義。我會很感激任何反饋。謝謝!

這裏的logcat的:

01-29 18:42:19.775: D/@@@@(1297): GameDetailFragment onPause 
01-29 18:42:20.116: V/MediaPlayer(1297): constructor E 
01-29 18:42:20.116: I/AudioSystem(1297): getting audio flinger 
01-29 18:42:20.116: I/AudioSystem(1297): returning new audio session id 
01-29 18:42:20.116: V/MediaPlayer(1297): constructor X 
01-29 18:42:20.116: V/MediaPlayer(1297): setListener 
01-29 18:42:20.116: D/MediaPlayer(1297): hasHDMIPermission: -1 
01-29 18:42:20.116: D/MediaPlayer(1297): registerHDMINotification 
01-29 18:42:20.116: E/HDMIStatusObserver(1297): status: UNPLUG 
01-29 18:42:20.116: D/MediaPlayer(1297): isHDMIPlug(): false 
01-29 18:42:20.126: E/MediaPlayer(1297): onHDMIStateChanged 
01-29 18:42:20.126: E/MediaPlayer(1297): hdmi_setting not found! 
01-29 18:42:20.126: W/System.err(1297): java.io.FileNotFoundException: /data/hdmi_setting (No such file or directory) 
01-29 18:42:20.126: W/System.err(1297):  at org.apache.harmony.luni.platform.OSFileSystem.open(Native Method) 
01-29 18:42:20.126: W/System.err(1297):  at dalvik.system.BlockGuard$WrappedFileSystem.open(BlockGuard.java:232) 
01-29 18:42:20.126: W/System.err(1297):  at java.io.FileInputStream.<init>(FileInputStream.java:80) 
01-29 18:42:20.126: W/System.err(1297):  at java.io.FileInputStream.<init>(FileInputStream.java:132) 
01-29 18:42:20.126: W/System.err(1297):  at java.io.FileReader.<init>(FileReader.java:66) 
01-29 18:42:20.126: W/System.err(1297):  at android.media.MediaPlayer.readHDMISetting(MediaPlayer.java:2245) 
01-29 18:42:20.126: W/System.err(1297):  at android.media.MediaPlayer.getHDMIResolution(MediaPlayer.java:2124) 
01-29 18:42:20.126: W/System.err(1297):  at android.media.MediaPlayer.<init>(MediaPlayer.java:564) 
01-29 18:42:20.126: W/System.err(1297):  at android.widget.VideoView.openVideo(VideoView.java:217) 
01-29 18:42:20.126: W/System.err(1297):  at android.widget.VideoView.access$2000(VideoView.java:49) 
01-29 18:42:20.126: W/System.err(1297):  at android.widget.VideoView$6.surfaceCreated(VideoView.java:482) 
01-29 18:42:20.126: W/System.err(1297):  at android.view.SurfaceView.updateWindow(SurfaceView.java:551) 
01-29 18:42:20.126: W/System.err(1297):  at android.view.SurfaceView.dispatchDraw(SurfaceView.java:348) 
01-29 18:42:20.126: W/System.err(1297):  at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
01-29 18:42:20.126: W/System.err(1297):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
01-29 18:42:20.126: W/System.err(1297):  at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
01-29 18:42:20.126: W/System.err(1297):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
01-29 18:42:20.126: W/System.err(1297):  at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
01-29 18:42:20.126: W/System.err(1297):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
01-29 18:42:20.126: W/System.err(1297):  at android.view.View.draw(View.java:6973) 
01-29 18:42:20.126: W/System.err(1297):  at android.widget.FrameLayout.draw(FrameLayout.java:357) 
01-29 18:42:20.126: W/System.err(1297):  at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1961) 
01-29 18:42:20.126: W/System.err(1297):  at android.view.ViewRoot.draw(ViewRoot.java:1600) 
01-29 18:42:20.126: W/System.err(1297):  at android.view.ViewRoot.performTraversals(ViewRoot.java:1321) 
01-29 18:42:20.126: W/System.err(1297):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1957) 
01-29 18:42:20.126: W/System.err(1297):  at android.os.Handler.dispatchMessage(Handler.java:99) 
01-29 18:42:20.136: W/System.err(1297):  at android.os.Looper.loop(Looper.java:143) 
01-29 18:42:20.136: W/System.err(1297):  at android.app.ActivityThread.main(ActivityThread.java:4263) 
01-29 18:42:20.136: W/System.err(1297):  at java.lang.reflect.Method.invokeNative(Native Method) 
01-29 18:42:20.136: W/System.err(1297):  at java.lang.reflect.Method.invoke(Method.java:507) 
01-29 18:42:20.136: W/System.err(1297):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
01-29 18:42:20.136: W/System.err(1297):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
01-29 18:42:20.136: W/System.err(1297):  at dalvik.system.NativeStart.main(Native Method) 
01-29 18:42:20.136: D/MediaPlayer(1297): getHDMIResolution: 00 
01-29 18:42:20.136: D/MediaPlayer(1297): setDataSource(Context context, /, Map<String, String> headers) in 
01-29 18:42:20.136: V/MediaPlayer(1297): setDataSource(/) 
01-29 18:42:20.136: D/MediaPlayer(1297): setDataSource(Context context, /, Map<String, String> headers) out, scheme == null || scheme.equals(file) 
01-29 18:42:20.136: V/MediaPlayer(1297): setVideoSurface 
01-29 18:42:20.136: V/MediaPlayer(1297): MediaPlayer::setAudioStreamType 
01-29 18:42:20.136: V/MediaPlayer(1297): setVideoSurface 
01-29 18:42:20.136: V/MediaPlayer(1297): prepareAsync 
01-29 18:42:20.146: V/MediaPlayer(1297): message received msg=100, ext1=1, ext2=-2147483648 
01-29 18:42:20.146: E/MediaPlayer(1297): error (1, -2147483648) 
01-29 18:42:20.146: V/MediaPlayer(1297): callback application 
01-29 18:42:20.146: V/MediaPlayer(1297): back from callback 
01-29 18:42:20.156: E/MediaPlayer(1297): Error (1,-2147483648) 
01-29 18:42:20.156: D/VideoView(1297): Error: 1,-2147483648 
01-29 18:42:21.307: D/MediaPlayer(1297): reset() in 
01-29 18:42:21.307: V/MediaPlayer(1297): reset 
01-29 18:42:21.307: D/MediaPlayer(1297): reset() out 
01-29 18:42:21.307: D/MediaPlayer(1297): release() in 
01-29 18:42:21.307: D/MediaPlayer(1297): unregisterHDMINotification 
01-29 18:42:21.307: E/HDMIStatusObserver(1297): status: UNPLUG 
01-29 18:42:21.307: E/HDMIStatusObserver(1297): onEvent: false 
01-29 18:42:21.307: V/MediaPlayer(1297): setListener 
01-29 18:42:21.307: V/MediaPlayer(1297): disconnect 
01-29 18:42:21.307: V/MediaPlayer(1297): destructor 
01-29 18:42:21.307: V/MediaPlayer(1297): disconnect 
01-29 18:42:21.307: D/MediaPlayer(1297): release() out 
+0

添加您用來播放視頻的代碼可能很有用。 – anthonycr

+0

原來是互聯網連接問題。手機連接到wifi,但沒有得到任何互聯網。 logcat誤導我認爲這是一些不兼容問題。 –

回答

0

就讓我們來看看在supported media formats page上developer.android.com表明,H.264(.MP4)播放支持Android上的所有版本(假設我讀了圖表正確),因此在VideoView中播放應該可以工作。但是,Android 3.0之前不支持從HTTPS URL進行流式傳輸,如果您確實試圖從HTTPS URL進行流式傳輸,則會導致錯誤。