2012-01-26 64 views
2

我想使用此代码,我从一个按钮调用,但它不工作,当我看到LogCat窗口,我发现媒体播放器调用在状态0,错误(-38,0)媒体播放器调用状态0,错误(-38,0)错误

public void audioPlayer(String path, String fileName){ 

//set up MediaPlayer  
     MediaPlayer mp = new MediaPlayer(); 

     try { 
      mp.setDataSource(HeyActivity.this, Uri.parse(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 
      System.out.print("hey"); 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     mp.start(); 

    } 
+0

太短,知道什么是错 – Intathep

+0

SRY但知道我编辑我的代码 –

回答

2

尝试设置OnPreparedListener并调用其中的启动方法。像这样:

MediaPlayer mp = new MediaPlayer(); 
mp.setOnPreparedListener(new OnPreparedListener() { 

    public void onPrepared(MediaPlayer mp) { 
     mp.start(); 
    } 
}; 
); 
1

我终于通过在支持音频的模拟器上运行来解决问题了!

简直不敢相信!

窗口> AVD管理>编辑您的AVD(我创建了一个新的一个是在我从快照运行安全方面的原因)>硬件>新建>音频播放支持

相关问题