无法在onCreate上播放MediaPlayer

时间:2014-05-02 18:26:16

标签: android media-player oncreate

我有一个我想要的应用程序,一旦开始,就会播放一些背景音乐(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();

但是当我测试它时,没有播放音乐。我看到一切都很好。我该怎么办?非常感谢

2 个答案:

答案 0 :(得分:1)

您必须使用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();

答案 1 :(得分:0)

您的文件路径中存在一些问题。当文件路径不正确时,媒体播放器会出现此类错误。因此,请检查您的文件路径,然后尝试。