У меня есть этот код в моем приложении, я использовал его в течение многих лет, и она работает на всех версиях Android от API 10 к API 22.Android MediaPlayer разваливается на Android 6.0 Зефир
я модернизировал свой телефон API 23 (Android 6.0 Marshmallow), и теперь он сбой.
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 Е/медиаплеера: ошибка (1, -2147483648) 01-29 17:16 : 20.643 8354-8354/mobiliza30.fyb E/AndroidRuntime: FATAL EXCEPTION: 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) at java.lang.reflect.Method.invoke (собственный метод) 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: попытка вызвать виртуальный метод 'void android.media.MediaPlayer.start()' в ссылке нулевого объекта на mobiliza30.fyb.utils.Utiles.beep (Utiles.java: 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) на android.widget.TextView.doKeyDown (TextView.java:6038) на android.widget.TextView. onKeyDown (TextView.java:5919) на android.view.KeyEvent.dispatch (KeyEvent.java:2654) на 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.handleResumeActivity (ActivityThread.java:3152) at android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1398) на android.os.Handler.di spatchMessage (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:618)
Проверять строки в LogCat до исключения. «MediaPlayer» может иметь некоторые строки ошибок или предупреждений, которые объясняют, что им не нравится. – CommonsWare
Я обновил сообщение с logcat – seba123neo
Нет, я имею в виду, прокручивать выше в LogCat, чем это, и искать сообщения из «MediaPlayer», которые предшествуют вашему сбою. – CommonsWare