2012-06-18 81 views
1

我開發一個示例應用程序可以播放MP3 Shoutcast一樣流(開發用於S40平臺,CLDC 1.1,MIDP 2.0)。我正在使用兩臺播放機進行切換以繼續播放。的MP3流媒體播放器使用開關

我使用了下面的流式邏輯。

Buffer enough chunks 
Start Player1 
Wait Player1 to finish 
Start Player2 
Wait Player2 to finish 
repeat... 2 

的問題是,聽衆可以感覺到1級秒鐘的靜音(GAP),而玩家之間的切換。

我想知道的是它可以從服務器無間隙流音頻(同時切換球員)?

這裏是我開始播放器代碼:

Player p = Manager.createPlayer(is, type); 
p.addPlayerListener(playerListener); 
p.realize(); 
p.prefetch(); 

Player2之前Player1完成預取 - 我創建了一個FIFO隊列的球員,當一個塊被下載的,我創建輸入流 - >播放器 - > Realize() - > Prefetch() - >推入隊列。

+0

你使用** [Player.prefetch()](http://docs.oracle.com/javame/config/cldc/opt-pkgs/api/mm/jsr135/javax/microedition/media/Player。 html#prefetch()「API javadocs」)**?這種方法「獲取稀少和獨有的資源和處理儘可能多的數據以減少啓動延遲** ...」 – gnat

+1

是的,我使用的是Player.prefetch(),這是我的代碼,用於啓動播放器。 Player p = Manager.createPlayer(is,type); p.addPlayerListener(playerListener); p.realize(); p.prefetch(); – MobDev

+0

player1在玩家1完成之前被預取? –

回答

1

也有這個項目:mfradio.sourceforge.net但沒有維護了,我沒有得到它在一個「後期」MIDP設備上工作(索尼W995)我仍然使用除了另一個Android設備。

你的開發是否可用?

謝謝。