0
我有一個大型項目,我將視頻存儲在原始文件中(幾個演出中)一切都一直順利到現在。有時我的視頻不會播放並顯示「無法播放此視頻」消息,我注意到我一直在使mmap失敗:在我的堆棧跟蹤中發生內存不足錯誤,我正在努力解決此問題,而我的uri返回null。mmap內存不足,Videoview:「無法播放此視頻」
因爲我的源代碼文件是巨大的,我會離開了我認爲是微不足道的代碼:
VideoView Video = FindViewById <VideoView>(Resource.Id.videoViewMainActivty);
MediaController mediaController = new MediaController(this, true);
Video.SetMediaController (mediaController);
var uri = Android.Net.Uri.Parse ("android.resource://" + PackageName + "/" + Resource.Raw.V11_2_1_1_Completing_the_square);
Video.SetVideoURI (uri);
Video.Start();
登錄:
[libEGL] loaded /system/lib/egl/libEGL_mali.so
[libEGL] loaded /system/lib/egl/libGLESv1_CM_mali.so
[libEGL] loaded /system/lib/egl/libGLESv2_mali.so
[] Device driver API match
[] Device driver API version: 10
[] User space API version: 10
[] mali: REVISION=Linux-r2p4-02rel0 BUILD_DATE=Tue Oct 16 15:37:13 KST 2012
[OpenGLRenderer] Enabling debug mode 0
Thread finished: <Thread Pool> #5
[Mono] [0xb8c7e958] worker finishing
Thread finished: <Thread Pool> #3
Thread finished: <Thread Pool> #4
[Mono] [0xb9648f00] worker finishing
[GestureDetector] [Surface Touch Event] mSweepDown False, mLRSDCnt : -1 mTouchCnt : 5 mFalseSizeCnt:0
[dalvikvm-heap] Grow heap (frag case) to 13.961MB for 1536016-byte allocation
[dalvikvm-heap] Grow heap (frag case) to 16.558MB for 2724712-byte allocation
[dalvikvm-heap] Grow heap (frag case) to 19.158MB for 2724712-byte allocation
[SpannableStringBuilder] SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
[SpannableStringBuilder] SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
Thread started: <Thread Pool> #6
Thread started: <Thread Pool> #7
[Mono] [0xb945f918] worker starting
Thread started: <Thread Pool> #8
[Mono] [0xba4f20e0] worker starting
Thread finished: <Thread Pool> #7
[Mono] [0xb945f918] worker finishing
[GestureDetector] [Surface Touch Event] mSweepDown False, mLRSDCnt : -1 mTouchCnt : 4 mFalseSizeCnt:0
[SpannableStringBuilder] SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
[SpannableStringBuilder] SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
[GestureDetector] [Surface Touch Event] mSweepDown False, mLRSDCnt : -1 mTouchCnt : 5 mFalseSizeCnt:0
[SpannableStringBuilder] SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
[SpannableStringBuilder] SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
[GestureDetector] [Surface Touch Event] mSweepDown False, mLRSDCnt : -1 mTouchCnt : 7 mFalseSizeCnt:0
[webclipboard] clipservice: [email protected]
[webkit] BrowserFrame constructor: this=Handler (android.webkit.BrowserFrame) {423615d0}
[webview] registerForStylusPenEvent onAttachedToWindow
[webview] registerForStylusPenEvent START
[webview] registerForStylusPenEvent END
Thread started: <Thread Pool> #9
[Mono] [0xbcd08d90] worker starting
[MediaPlayer-JNI] native_setup
[MediaPlayer] constructor
[MediaPlayer] setListener
[MediaPlayer] path is null
[filemap] mmap(0,1068406440) failed: Out of memory
[asset] create map from entry failed
[MediaPlayer] Couldn't open file on client side, trying server side
[MediaPlayer] setVideoSurfaceTexture
[MediaPlayer-JNI] setAudioStreamType: 3
[MediaPlayer] MediaPlayer::setAudioStreamType
[MediaPlayer] setVideoSurfaceTexture
[MediaPlayer] prepareAsync
[MediaPlayer] message received msg=100, ext1=1, ext2=-2147483648
[MediaPlayer] error (1, -2147483648)
Thread started: <Thread Pool> #10
[MediaPlayer] callback application
[MediaPlayer] back from callback
[Mono] [0xbd0a4958] worker starting
[ProgressBar] setProgressDrawable mProgressDrawable = null, d = [email protected] = false
[ProgressBar] setProgress = 0
[ProgressBar] setProgress = 0, fromUser = false
[ProgressBar] mProgress = 0mIndeterminate = false, mMin = 0, mMax = 100
Thread started: <Thread Pool> #11
[Mono] [0xbd0ff870] worker starting
[MediaPlayer] Error (1,-2147483648)
[VideoView] Error: 1,-2147483648
[Mono] DllImport attempting to load: '__Internal'.
[Mono] DllImport attempting to load: '__Internal'.
[Mono] DllImport loaded library '(null)'.
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for 'monodroid_get_system_property'.
[Mono] Probing 'monodroid_get_system_property'.
[Mono] Found as 'monodroid_get_system_property'.
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for 'monodroid_free'.
[Mono] Probing 'monodroid_free'.
[Mono] Found as 'monodroid_free'.
[Mono] DllImport loaded library '(null)'.
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for 'monodroid_get_system_property'.
[SpannableStringBuilder] SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
[SpannableStringBuilder] SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
我確信我的編碼是正確的並且視頻有時會播放。出於某種原因,我特意爲此視頻遇到了問題。該文件是21MB,這可能是一個問題嗎?可能壓縮所有視頻並確保寬度和高度正確有助於解決此問題?或者有沒有辦法「釋放」mmap內存?任何幫助將非常感激。