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時,會出現下載對話框詢問是否保存或下載文件。
那麼它在哪裏給出空指針異常?
能否請您現在就來試試呢? –
現在試試嗎?你什麼意思? – edwin
我給出的URL最初指向錯誤的文件。你應該可以連接到它,如果你沒有任何問題。 –