2016-01-29 88 views
2

我在我的應用程序的代碼,我已經使用了多年,它適用於Android的所有版本從API 10〜API 22Android的MediaPlayer正在於Android 6.0棉花糖崩潰

我升級我的電話API 23(Android 6.0棉花糖),現在它正在崩潰。

public static void beep(Context context) { 
    MediaPlayer mp = MediaPlayer.create(context, R.raw.beep); 
    mp.start(); 
    mp.setOnCompletionListener(new OnCompletionListener() { 
     @Override 
     public void onCompletion(MediaPlayer mp) { 
      mp.release(); 
     } 
    }); 
} 

錯誤是:

01-29 17:16:20.641 8354-8651/mobiliza30.fyb E/MediaPlayer的:錯誤(1,-2147483648) 01-29 17:16 :20.643 8354-8354/mobiliza30.fyb E/AndroidRuntime:致命例外:main 進程:mobiliza30.fyb,PID:8354 java.lang.RuntimeException:無法恢復活動{mobiliza30.fyb/mobiliza30.fyb.activities.ItemCbte }:java.lang.NullPointerException:嘗試調用空對象引用的虛擬方法'void android.media.MediaPlayer.start()' at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3121) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3152) at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1398) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:148) 在android.app.ActivityThread.main(ActivityThread.java:5443) 在java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:728) at com.android.internal.os.ZygoteInit.main(ZygoteInit的.java:61 8) 引起:java.lang.NullPointerException:嘗試在空對象引用 處的mobiliza30.fyb.utils.Utiles.beep(Utiles.java:Object)上調用虛擬方法'void android.media.MediaPlayer.start() 573) 在mobiliza30.fyb.activities.ItemCbte.buscarArticulo(ItemCbte.java:1544) 在mobiliza30.fyb.activities.ItemCbte.agregarArticulo(ItemCbte.java:1009) 在mobiliza30.fyb.activities.ItemCbte.access $ 200 (ItemCbte.java:64) at mobiliza30.fyb.activities.ItemCbte $ 2.onEditorAction(ItemCbte.java:193) at android.widget.TextView.doKeyDown(TextView.java:6038) at android.widget.TextView。 onKeyDown(TextView.java:5919) at android.view.KeyEvent.dispatch(KeyEvent.java:2654) at android.view.View.dispatchKeyEvent(View.java:9237) at mobiliza30.fyb.activities.ItemCbte.onResume(ItemCbte.java:600) 在android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1281) 在android.app.Activity.performResume(Activity.java:6320) 在android.app.ActivityThread.performResumeActivity(ActivityThread.java:3110) 在android.app.ActivityThread $ android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3152) at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1398) at android.os.Handler.di spatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5443) at java.lang.reflect.Method。調用(Native Method) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:728) at com.android。internal.os.ZygoteInit.main(ZygoteInit.java:618)

+0

在例外之前檢查LogCat中的行。 'MediaPlayer'可能會有一些錯誤或警告行來解釋它不喜歡的內容。 – CommonsWare

+0

我使用logcat更新了帖子 – seba123neo

+0

不,我的意思是,在LogCat中滾動高於此值,並從崩潰前的MediaPlayer中查找消息。 – CommonsWare

回答

0

解決:改變聲音文件和它的工作完美,想必文件是未在版本6的Android支持的格式。

+0

格式您已用於聲音文件? – immodi

+0

現在我使用.m4a格式 – seba123neo

+0

ok..before您使用了哪種格式? – immodi

相關問題