我有一个应用程序,我想,只要它开始,一个小背景音乐(opa gangam风格!)要播放(从sd卡)。我使用代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MediaPlayer mp = new MediaPlayer();
String filePath = Environment.getExternalStorageDirectory().getPath() + "/mymusic/gangamstyle.mp3";
try {
mp.setDataSource(filePath);
} catch (IOException e) {
e.printStackTrace();
}
try {
mp.prepare();
} catch (IOException e) {
e.printStackTrace();
}
mp.start();
但是当我测试它时,没有播放音乐。我看到一切都很好。我能做错什么呢?谢谢大家
你必须使用setOnPreparedListener来知道媒体播放器何时准备好播放:
MediaPlayer player = new MediaPlayer();
player.setDataSource(filePath);
player.setVolume(100, 100);
player.setLooping(false);
player.setOnPreparedListener(new OnPreparedListener()
{
@Override
public void onPrepared(MediaPlayer mp)
{
mp.start();
}
});
player.prepare();
文件路径有问题。当文件路径不正确时,媒体播放器给出这种错误。所以,请检查您的文件路径,然后尝试。