不知道是不是手误写错的,音频文件放在res/raw/ 下面private MediaPlayer mediaPlayer;
mediaPlayer = MediaPlayer.create(this, R.raw.abc);
if(!mediaPlayer.isPlaying()){
mediaPlayer.start();
}
如果还是不行的话,换一个音频文件试一下,方法是没错的另外SoundPool也可以播放ogg文件,但貌似播放的音质不太好,楼主可以试一下

解决方案 »

  1.   

     
    您看得好仔细哦,是raw 误写成rew喽 呵呵  还好  问题已经解决了  谢谢您 和 各位了 
      

  2.   

    应该是路径设置的不对,setdatasource失败了把
    贴出LOG来看看,呵呵
      

  3.   

    经过 测试发现 罪魁祸首是由 mediaPlayer.prepare();这句引起的  呵呵
      

  4.   

    如果这样写  mediaPlayer = MediaPlayer.create(this, R.raw.abc);  
    就不需要 prepare()如果这样写:   mediaPlayer = new MediaPlayer();
                          mediaPlayer.setResource(R.raw.abc);
                          mediaPlayer.prepare();
                          mediaPlayer.start();
    就需要prepared().sdk里面对create()方法进行了说明:
    public static MediaPlayer create (Context context, int resid)
    Since: API Level 1Convenience method to create a MediaPlayer for a given resource id. On success, prepare() will already have been called and must not be called again
    这就是错误的原因!
      

  5.   

    写错了,第二种方法是 mediaPlayer.setDataSource(String path);播放raw文件夹下的音乐文件需要用create方法来指定。