2012-09-20 306 views
9

我實際上可以在整個頁面中連續播放音樂,無需重新加載,使用幀(我知道連續播放音樂不是一個好主意,但客戶真的要求它,所以我別無選擇)。以下是我用於與音樂播放幀:連續播放音樂的音樂

<body> 
    <div id="player"> 
    <audio id="audio" controls="controls" autoplay="autoplay" loop="loop" style="width:150px;"> 
     <source src="martnalia05namoracomigo.ogg" type="audio/ogg" /> 
     <source src="martnalia05namoracomigo.mp3" type="audio/mp3" /> 
     <embed src="martnalia05namoracomigo.mp3" hidden="true" loop="TRUE" autostart="TRUE"></embed> 
    </audio> 
    </div> 
</body> 

我插入這種音樂只是爲了測試,我想知道是否有可能使一個播放列表,如果它可以通知例如:

[player] 
| button previous | button to play/pause | button next 
| name of the music (link to the page of the Album) | 
[end of player] 

有沒有什麼建議?

+0

你不需要使用框架 - 你可以有你的內容容器AJAX異步獲取數據並填充它的方式。 BackboneJS和Spine都是該類型網絡應用的絕佳解決方案。 – AlienWebguy

+0

我不確定我可以使用它,因爲我實際上是在爲我的網站使用預製基礎,我使用的是:jumpseller.com ,我的網站是這樣的: http: //biscoitofino.jumpseller.com/ 我不知道我是否可以實際編輯此係統中的導航,因爲我限制了代碼的使用。我的想法是在上面的框架中使用音樂播放器,並在下面的框架中使用網絡真實內容。 –

+0

這是什麼網站?我想確保我永遠不會去。 – Joe

回答

0

您可能將不得不使用媒體播放器插件。試用Leanback球員:

http://leanbackplayer.com/ + http://leanbackplayer.com/player_extensions.html(XSPF音頻播放擴展)

這是HTML5/CSS/JS用Flash後備選項,這樣你應該能夠風格,以滿足您的需求很輕鬆了。

+0

你好,謝謝你的回答吉姆,所以告訴我,你認爲這是一個更好的選擇,而不是在我的情況下使用幀(考慮到我不能使用我的系統使用AJAX)讓音樂連續播放? –

+0

鑑於您無法自定義足夠的頁面來添加一些JavaScript,我會說你只能選擇堅持使用框架。 – gfyans

+0

如果你不那麼受限制,你可以沿着單頁面的應用程序路線http://en.wikipedia.org/wiki/Single-page_application,這樣頁面永不刷新,當用戶請求時只需要新的內容點擊導航中的鏈接。您的媒體播放器始終保持打開狀態。 有一個挖掘周圍hypem。com的來源,我不確定他們如何在不使用#的情況下更改其網址(單頁面應用程序不是我的東西),但它效果很好。 出於興趣,你爲什麼不能使用AJAX?如果您無法將JS添加到您的網站,您將無法使用LeanBack。 – gfyans

1

你也許想製作一個小型的媒體播放器,如果這樣的話有很多現成的腳本可以幫助你完成這個。 (Google是你的朋友)。

如果你決定自己去做,這是我的想法,他們可能會幫助你在正確的方向。

var data = [{audiourl: "filename1.mp3", artisturl:"http://example.com",name:"Song name"}, 
      {audiourl: "filename1.mp3", artisturl:"http://example.com",name:"Song name"}]; 

某種形式的數據結構來存儲曲目的細節。

var audio = document.getElementById("audio"); 
audio.addEventListener('ended', playNext); 

最後某種函數來處理軌道

var currentTrack = 0; 
function playNext(options){ 
    currentTrack++; 
    if (currentTrack > data.length){ 
     currentTrack = 0; 
    } 
    var audiosrc = document.getElementById('embed_element_id') // or some other selector method 
    audiosrc.src = data[currentTrack].audiourl; 
    audiosrc.play(); 
} 

林對HTML5音頻規範不完全確定的切換,但我會沿着這些線路承擔其。

希望這有助於