Android播放声音强制关闭错误



我使用下面的代码在触摸imageview时播放wav声音

                MediaPlayer mp = MediaPlayer.create(this, R.raw.ok);
                mp.start();
                while (mp.isPlaying()) { 
                    // donothing 
                 };
                 mp.release();

这给了我强制关闭错误,我错过了什么?还是我需要在manifest文件中提供权限?请帮助。

谢谢

创建媒体播放器后,您必须在开始之前调用prepare()。试试这段代码

MediaPlayer mp = MediaPlayer.create(this, R.raw.ok);
                mp.prepare();
                mp.start();

试试这个,看看。

    public void audioPlayer(String path, String fileName){
        //set up MediaPlayer    
        MediaPlayer mp = new MediaPlayer();
        try {
            mp.setDataSource(path+"/"+fileName);
        } catch (IllegalArgumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        try {
            mp.prepare();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        mp.start();
}

根据您的代码更改此方法。此外,如果有任何错误,您应该发布错误日志,以便其他人可以确定确切的问题。

相关内容

最新更新