2012-05-28 283 views
4

我已經從服務器下載音頻文件的Android問題並保存它使用在播放音頻文件

/data/data/packagename/sounds/filename.mp3 

然後,如果我發揮使用

.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(); 
      } 

      mp.start(); 

音頻但它顯示了一個錯誤

MediaPlayer:start called in state 2 
MediaPlayer:Error(-38,0) 
MediaPlayer:Error(-38,0) 

它有什麼問題我搜索了很多關於這個,但沒有解決方案,請提出任何解決方案

+0

什麼logcat的說??? – MAC

+0

你正在使用哪個版本? – kyogs

+0

即時通訊使用2.2版 – mohamed

回答

2

與此代碼嘗試,

public void audioPlayer(String path, String fileName){ 
    //set up MediaPlayer  
    MediaPlayer mp = new MediaPlayer(); 

    try { 
     mp.setDataSource(path+"/"+filename.mp3); 
    } 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(); 
} 
+0

我試過上面的代碼,日誌貓錯誤,05-28 18:44:46.933:W/System.err(21770):java。 io.IOException:準備失敗:狀態= 0x1 05-28 18:44:47.024:E/MediaPlayer(21770):開始以狀態0調用 05-28 18:44:47.024:E/MediaPlayer(21770)錯誤(-38,0) 05-28 18:44:47.063:E/MediaPlayer(21770):錯誤(-38,0) – mohamed

+0

什麼是「PATH」等於? – Simon

+0

路徑意味着你的音頻文件位於 – Aerrow