首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 應用中直接播放伺服器端音頻檔案的實作方式

     編輯:程式設計綜合問答

Android MediaPlayer 支援直接以網路 URI 播放線上音頻,無需先下載到本地。以下示範正確串流播放流程。

核心程式碼

Button playBtn = findViewById(R.id.play);
Button stopBtn = findViewById(R.id.stop);
MediaPlayer mp = new MediaPlayer();

playBtn.setOnClickListener(v -> {
    try {
        mp.reset();
        mp.setDataSource("YOUR_MP3_URL_HERE"); // 例如 https://example.com/audio.mp3
        mp.prepareAsync(); // 非同步準備,避免阻塞 UI
    } catch (IOException e) {
        e.printStackTrace();
    }
});

mp.setOnPreparedListener(mediaPlayer -> mediaPlayer.start());

stopBtn.setOnClickListener(v -> {
    if (mp.isPlaying()) {
        mp.stop();
        mp.reset();
    }
});

必要權限

在 AndroidManifest.xml 加入網路存取權限:

<uses-permission android:name="android.permission.INTERNET" />

注意事項

  • 使用 prepareAsync() 而非 prepare(),防止主執行緒阻塞導致 ANR。
  • 實作 OnErrorListener 處理網路錯誤或格式不支援。
  • 釋放資源時呼叫 release() 並設為 null。

此方式適用於 MP3、AAC 等常見串流格式,簡單高效。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved