我正在尝试使用以下Android MediaPlayer API播放mp3文件,
但不幸的是prepare()方法不能解决以下错误:
W / System.err:java.io.IOException:准备失败。:status = 0x1 在android.media.MediaPlayer._prepare(本机方法) 在android.media.MediaPlayer.prepare(MediaPlayer.java:1282) 在com.baraka.activity.HfzHome.onCreate(HfzHome.java:47) 在android.app.Activity.performCreate(Activity.java:7136) 09-11 02:17:38.560 24146-24146 / com.baraka W / System.err:位于android.app.Activity.performCreate(Activity.java:7127) 在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048) 在android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 在android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 在android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1808) 在android.os.Handler.dispatchMessage(Handler.java:106) 在android.os.Looper.loop(Looper.java:193) 09-11 02:17:38.561 24146-24146 / com.baraka W / System.err:位于android.app.ActivityThread.main(ActivityThread.java:6669) 在java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:493) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
答案 0 :(得分:0)
删除mediaplayer.reset()
新建的建筑之间存在细微但重要的区别 调用reset()之后的MediaPlayer对象和MediaPlayer对象。 调用诸如以下的方法是编程错误 getCurrentPosition(),getDuration(),getVideoHeight(), getVideoWidth(),setAudioAttributes(AudioAttributes), setLooping(boolean),setVolume(float,float),pause(),start(), 空闲中的stop(),seekTo(long,int),prepare()或prepareAsync() 两种情况的状态。如果这些方法中的任何一个在 MediaPlayer对象已构造,用户提供了回调方法 内部播放器不会调用OnErrorListener.onError() 引擎和对象状态保持不变;但是如果这些方法 在用户提供的回调方法reset()之后立即调用 OnErrorListener.onError()将由内部播放器调用 引擎和对象将被转移到“错误”状态。
开始类似这样的简单操作,然后再开始使用其他功能:
MediaPlayer mediaPlayer = new MediaPlayer();
try {
String website = "website url here";//put ur url here
mediaPlayer.setDataSource(website);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.prepare();
}
好的tutorial对您可能有用。
答案 1 :(得分:0)
经过大量检查后,我发现问题出在SdkVersion,我将其从 将compileSdkVersion 28转换为compileSdkVersion 27,则可以正常工作。感谢您的回答。