任何人都可以解释为什么会这样。我看到媒体播放器在模拟器上的表现如何,但有时在真实设备上崩溃了。我无法解决这个问题,因为模拟器没有显示错误。
创建mp的代码
mp = new MediaPlayer();
mp.setDataSource(myStream);
mp.prepare(); //also consider mp.prepareAsync().
使用 stacktrace 发现的错误
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:200)
at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
at java.lang.Thread.run(Thread.java:1096)
Caused by: java.lang.IllegalStateException
at android.media.MediaPlayer._start(Native Method)
at android.media.MediaPlayer.start(MediaPlayer.java:798)
at myApp.activity.com.myApp.play(myApp.java:320)
at myApp.activity.com.myApp$PlayOn.doInBackground(myApp.java:454)
at myApp.activity.com.myApp$PlayOn.doInBackground(myApp.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:185)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
如果遵循 myApp.java 454,则崩溃的行
mp.start();
请解释或帮助我。我会很开心
问候,彼得。