簡體   English   中英

Android VideoView:頻繁發生異常和崩潰(失敗代碼:-32)

[英]Android VideoView: Frequent exception and crash (failure code: -32)

情況

我使用的是VideoView,當我想播放視頻時會顯示該視頻。 播放視頻后,我再次將其隱藏。 因此, 我不會每次都重新創建VideoView

例外

每當我嘗試開始播放視頻時(有時我之前已經使用VideoView播放過多個視頻之后),應用都會崩潰。

我得到了您可以在下面找到的stacktrace。 我已經嘗試了幾乎所有東西,但是沒有運氣。 也許您也為這個問題而苦惱,甚至不知道原因?

02-23 15:10:52.362 22834-22890/com.app.example D/dalvikvm: GC_EXPLICIT freed 189K, 27% free 11296K/15368K, paused 0ms+0ms, total 10ms
02-23 15:10:52.422 22834-22890/com.app.example D/dalvikvm: GC_EXPLICIT freed 189K, 27% free 11296K/15368K, paused 0ms+0ms, total 10ms
02-23 15:12:19.832 22834-22890/com.app.example W/PGA: [22890] egl: eglDestroySurface (0x5583a7a0, 0x7956ad40)
02-23 15:12:19.832 22834-22890/com.app.example W/PGA: [22890] egl: eglDestroySurface (0x5583a7a0, 0x7956ad40) returned
02-23 15:12:19.872 22834-22843/com.app.example E/MediaPlayer: error (1, -2147483648)
02-23 15:12:20.182 22834-22834/com.app.example D/AndroidRuntime: Shutting down VM
02-23 15:12:20.182 22834-22834/com.app.example W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x64d77b20)
02-23 15:12:20.182 22834-22847/com.app.example W/AudioSystem: AudioFlinger server died!
02-23 15:12:20.182 22834-22847/com.app.example W/IMediaDeathNotifier: media server died
02-23 15:12:20.182 22834-22847/com.app.example E/MediaPlayer: error (100, 0)
02-23 15:12:20.182 22834-22847/com.app.example E/MediaPlayer: error (100, 0)
02-23 15:12:20.182 22834-22847/com.app.example E/MediaPlayer: error (100, 0)
02-23 15:12:20.182 22834-22847/com.app.example E/MediaPlayer: error (100, 0)
02-23 15:12:20.182 22834-22847/com.app.example E/MediaPlayer: error (100, 0)
02-23 15:12:20.182 22834-22847/com.app.example W/AudioSystem: AudioPolicyService server died!
02-23 15:12:20.322 22834-22834/com.app.example I/Process: Sending signal. PID: 22834 SIG: 9
02-23 15:12:20.322 22834-22834/com.app.example D/AndroidRuntime: procName from cmdline: com.app.example
02-23 15:12:20.322 22834-22834/com.app.example E/AndroidRuntime: in writeCrashedAppName, pkgName :com.app.example
02-23 15:12:20.322 22834-22834/com.app.example D/AndroidRuntime: file written successfully with content: com.app.example StringBuffer : ;com.app.example
02-23 15:12:20.322 22834-22834/com.app.example E/AndroidRuntime: FATAL EXCEPTION: main
                                                                          Process: com.app.example, PID: 22834
                                                                          java.lang.RuntimeException: failure code: -32
                                                                              at android.media.MediaPlayer.invoke(MediaPlayer.java:664)
                                                                              at android.media.MediaPlayer.getInbandTrackInfo(MediaPlayer.java:1692)
                                                                              at android.media.MediaPlayer.scanInternalSubtitleTracks(MediaPlayer.java:1851)
                                                                              at android.media.MediaPlayer.access$600(MediaPlayer.java:529)
                                                                              at android.media.MediaPlayer$EventHandler.handleMessage(MediaPlayer.java:2198)
                                                                              at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                              at android.os.Looper.loop(Looper.java:136)
                                                                              at android.app.ActivityThread.main(ActivityThread.java:5021)
                                                                              at java.lang.reflect.Method.invokeNative(Native Method)
                                                                              at java.lang.reflect.Method.invoke(Method.java:515)
                                                                              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827)
                                                                              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)
                                                                              at dalvik.system.NativeStart.main(Native Method)

您的問題似乎已被其他人遇到。

一種解決方案

mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mp) {
              if( mp != null ) { 
                    mp.setDisplay(null);
                    mp.reset();
                    mp.setDisplay(mMovieView.getHolder());
               }
         }
});

另一個是更新SDK

或為每個媒體內容源重新創建VideoView

所有這些都表明它正在Android KitKat 4.4.x上進行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM