2013-01-24 96 views
1

我想從服務器獲取音頻mp3文件並在Android應用上播放它。 下面是函數的代碼:Android:在服務器上播放mp3文件時發生異常。

protected void managerOfSound(String theText) throws MalformedURLException, IOException { 
     if (mp != null) { 
      mp.reset(); 
      mp.release(); 
     } 
     URLConnection conn = new URL("http://192.168.1.68:3000/play/song.mp3").openConnection(); 
     conn.connect(); 
     InputStream stream = conn.getInputStream(); 
     File file = File.createTempFile("downloadingMedia", ".mp3"); 

     byte[] buffer = new byte[4096]; 
     int n = - 1; 

     OutputStream output = new FileOutputStream(file); 
     while ((n = stream.read(buffer)) != -1) 
     { 
       if (n > 0) 
       { 
         output.write(buffer, 0, n); 
       } 
     } 
     output.close(); 


     System.out.println("PATH IS" + file.getAbsolutePath()); 
     mp.setDataSource(file.getAbsolutePath()); 
     mp.start(); 
    } 

不過,我得到的線mp.setDataSource一個NullPointerException。我確認文件的絕對路徑存在。

在服務器端,我也驗證了正在接收的請求和它的200響應。

當我在瀏覽器上打開URL時,會出現下載對話框詢問是否保存或下載文件。

那麼它在哪裏給出空指針異常?

回答

1

我沒GT從您的網址(我的代理髮行)任何迴應

有眼睛上的這個Tutorial

This

+0

能否請您現在就來試試呢? –

+0

現在試試嗎?你什麼意思? – edwin

+0

我給出的URL最初指向錯誤的文件。你應該可以連接到它,如果你沒有任何問題。 –

相關問題