我正在開發一款音樂下載應用程序,該應用程序基本上可以在不同的torrent平臺上抓取網頁並獲得種子。我想下載它們時播放一些音樂種子文件。我有一個基本上照顧所有這一切的服務。我設置了一個緩衝區,等待下載至少25%的torrent文件,然後使用MediaPlayer
類開始播放文件。音樂開始播放OK,但一段時間後會停止播放,好像它不能播放超過25%的音樂。我嘗試使用Android的MediaPlayer
類和FFmpegMediaPlayer庫。我試着用幾個CONFIGS:下載時播放音樂文件
MediaPlayer mediaPlayer = new MediaPlayer();
FileInputStream fis = null;
try {
fis = new FileInputStream(mCurrentTrack);
mediaPlayer.setDataSource(fis.getFD());
mediaPlayer.setAudioStreamType(AudioManager.STREAM_RING);
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.start();
}
});
mediaPlayer.prepareAsync();
} catch (Exception e) {
Log.w(APP_TAG, String.format("Something went wrong while trying to play the torrent stream: " + e.toString()));
}
mCurrentTrack
是路徑,我在外部存儲下載到我的下載文件夾中的MP3文件。
我試過使用AudioManager.STREAM_MUSIC
。我嘗試使用sync prepare()方法,然後調用start()方法。在開始播放它並將其設置爲readeable和可寫之前,我使用new File(mCurrentTrack)
打開文件。我嘗試了很多組合,但總是一樣的,音樂播放幾秒鐘然後停下來。當我檢查外部存儲器時,文件最終完全沒有問題地下載。
,我使用下載torrent文件庫是這個TorrentStream-Android
任何有關如何發揮這一文件,而其在飛行下載,將不勝感激尖或想法。