2016-01-29 1 views
2

У меня есть этот код в моем приложении, я использовал его в течение многих лет, и она работает на всех версиях 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)

+0

Проверять строки в LogCat до исключения. «MediaPlayer» может иметь некоторые строки ошибок или предупреждений, которые объясняют, что им не нравится. – CommonsWare

+0

Я обновил сообщение с logcat – seba123neo

+0

Нет, я имею в виду, прокручивать выше в LogCat, чем это, и искать сообщения из «MediaPlayer», которые предшествуют вашему сбою. – CommonsWare

ответ

0

Постановили: изменить звуковой файл, и он работал идеально, конечно, файл был в формате, который не поддерживается в версии 6 андроида.

+0

, какой формат вы использовали для звукового файла? – immodi

+0

сейчас я использую формат .m4a – seba123neo

+0

ok..перед тем, какой формат вы использовали? – immodi