gpt4 book ai didi

java - 媒体播放器错误

转载 作者:行者123 更新时间:2023-12-02 00:14:41 25 4
gpt4 key购买 nike

我试图在我的应用程序中播放音乐,并在第一首歌曲结束后播放歌曲,但出现一些错误,无法解决任何帮助?

public class Music {
int count;
String[] titles = new String[] { "title1.mp3", "title2.mp3", "title3.mp3", "title4.mp3" };

public void GameMusic(){
count = 0;
MediaPlayer mp = MediaPlayer.create(this, R.raw.title1);
mp.start();
}

void onCompletion(MediaPlayer mp){
mp.stop();
if (count == titles.length -1) {
count = 0;
}
mp.setDataSource(titles[count]);
count++;
mp.prepare();
mp.start();
}
}

错误出现:

    MediaPlayer mp = MediaPlayer.create(this, R.raw.music); 

(MediaPlayer 类型中的方法 create(Context, int) 不适用于参数 (Music, int)

    mp.setDataSource(titles[count]);

(未处理的异常类型 IOException)

    mp.prepare();

(未处理的异常类型 IOException)

如有任何帮助,我们将不胜感激。

最佳答案

这些错误可能有点神秘,但它们是不言自明的。

您需要将 Context 传递给 GameMusic() 并使用它来初始化 MediaPlayer:

public void GameMusic(Context context){
count = 0;
MediaPlayer mp = MediaPlayer.create(context, R.raw.title1);
mp.start();
}

仅在类(在本例中为 Music)扩展 Context 时才有效,因此您需要以另一种方式提供 Context。

并在 onCompletion() 中使用 try-catch block 来处理 IOException:

try {
mp.setDataSource(titles[count]);
count++;
mp.prepare();
mp.start();
}
catch(IOException e) {
// Do something when MediaPlayer fails
}

关于java - 媒体播放器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12080809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com