2016-05-11 42 views
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內存?任何幫助將非常感激。

回答

0

我希望這個問題有時候會派上用場,問題是我的視頻文件太大,只能用5Mb或者使用手剎壓縮視頻。

相關問題