2017-09-10 73 views
0

对于我的闹钟应用程序,这个错误来了只为小蜜注3 & 小米手机4设备&对于所有其他设备,包括做工精细我的个人小米红米3S。Mediaplayer.prepare()崩溃与IllegalStateException异常,只为小米注3:小米手机4

Exception java.lang.RuntimeException: Unable to start activity 

java.lang.IllegalStateException : 
Caused by java.lang.IllegalStateException: 
android.media.MediaPlayer._prepare (MediaPlayer.java) 
android.media.MediaPlayer.prepare (MediaPlayer.java:1408) 
android.app.Activity.performCreate (Activity.java:6912) 
android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1126) 
android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2877) 
android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2985) 
android.app.ActivityThread.-wrap14 (ActivityThread.java) 
android.app.ActivityThread$H.handleMessage (ActivityThread.java:1635) 
android.os.Handler.dispatchMessage (Handler.java:102) 
android.os.Looper.loop (Looper.java:154) 
android.app.ActivityThread.main (ActivityThread.java:6692) 
java.lang.reflect.Method.invoke (Method.java) 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1468) 
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1358) 

回答

0

让我们假设你提供data-source之前MediaPlayer.prepare()

由于MediaPlayer.prepare()块为主线,这导致异常。为了防止这种情况,请尝试使用MediaPlayer.prepareAsync()而不是MediaPlayer.prepare()。对于这个apporach阅读onPreparedListener()onErrorListener()
如果这没有帮助,请看看thisthisthis

+0

有什么理由MediaPlayer.prepare()只针对没有小蜜和一些三星Galaxy设备,但不为他人 ?此外,我只使用设备媒体和不做在线缓冲。 –

+0

你能上传代码片段吗? – samirk433

+0

在我的应用程序中,如果用户没有在设置中设置他选择的铃声/闹铃/音乐文件,则默认铃声响起。 该问题只出现在默认铃声响铃和用户未在应用设置中设置铃声/闹钟/音乐文件的情况下。 –