2016-05-11 16 views
0

私は生のファイルにビデオを保存している大きなプロジェクトを持っています。時には私のビデオが再生されず、 "このビデオを再生できません"というメッセージが表示されますが、私はmmapが失敗していることに気づきました:スタックトレースのメモリ不足エラー。この問題を解決するのに苦労しています。 nullを返します。mmap of memory、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以下でビデオを圧縮するだけでした。

関連する問題