我在我的網站上有幾個MP3的目錄。 我動態地使用php在網站上創建它們的列表。如何使用Javascript播放mp3?
我也有一個拖放功能與他們關聯,我可以選擇這些MP3播放列表播放。
現在,給出這個列表,我怎樣才能點擊一個按鈕(播放),並使網站播放列表的第一個MP3? (我也知道音樂在網站上的位置)
我在我的網站上有幾個MP3的目錄。 我動態地使用php在網站上創建它們的列表。如何使用Javascript播放mp3?
我也有一個拖放功能與他們關聯,我可以選擇這些MP3播放列表播放。
現在,給出這個列表,我怎樣才能點擊一個按鈕(播放),並使網站播放列表的第一個MP3? (我也知道音樂在網站上的位置)
如果您希望對舊瀏覽器兼容版本,我已經做這個庫:
function Sound(source,volume,loop)
{
this.source=source;
this.volume=volume;
this.loop=loop;
var son;
this.son=son;
this.finish=false;
this.stop=function()
{
document.body.removeChild(this.son);
}
this.start=function()
{
if(this.finish)return false;
this.son=document.createElement("embed");
this.son.setAttribute("src",this.source);
this.son.setAttribute("hidden","true");
this.son.setAttribute("volume",this.volume);
this.son.setAttribute("autostart","true");
this.son.setAttribute("loop",this.loop);
document.body.appendChild(this.son);
}
this.remove=function()
{
document.body.removeChild(this.son);
this.finish=true;
}
this.init=function(volume,loop)
{
this.finish=false;
this.volume=volume;
this.loop=loop;
}
}
文檔:
Sound
有三個參數。聲音的URL,音量(從0到100)和循環(true爲循環,false爲循環)。
stop
允許到start
之後(與remove
相反)。
init
重新設置參數音量和循環。
例子:
var foo=new Sound("url",100,true);
foo.start();
foo.stop();
foo.start();
foo.init(100,false);
foo.remove();
//Here you you cannot start foo any more
你可能會想使用新的HTML5元素audio
創建Audio
對象,加載MP3和發揮它。
由於瀏覽器不一致,這個示例代碼有點長,但它應該適合您的需要,稍微調整一下。
//Create the audio tag
var soundFile = document.createElement("audio");
soundFile.preload = "auto";
//Load the sound file (using a source element for expandability)
var src = document.createElement("source");
src.src = fileName + ".mp3";
soundFile.appendChild(src);
//Load the audio tag
//It auto plays as a fallback
soundFile.load();
soundFile.volume = 0.000000;
soundFile.play();
//Plays the sound
function play() {
//Set the current time for the audio file to the beginning
soundFile.currentTime = 0.01;
soundFile.volume = volume;
//Due to a bug in Firefox, the audio needs to be played after a delay
setTimeout(function(){soundFile.play();},1);
}
編輯:
要添加Flash的支持,你會追加audio
標籤內的object
元素。
我知道這個答案是4歲。但是他們的名單在這裏,這是最好的。我調整了一下,以服務於我的目的。但它適用於一切。甚至IE。這真的是在說些什麼。 – durbnpoisn
你可以嘗試SoundManager 2:它會透明地處理<audio>
標籤無論它的支持,並且使用Flash無論它是不是。
new Audio('<url>').play()
完整文檔:https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement – aymericbeaumet
享受它;)
<html>
<head>
<title>Play my music....</title>
</head>
<body>
<ul>
<li>
<a id="PlayLink" href="http://www.moderntalking.ru/real/music/Modern_Talking-You_Can_Win(DEMO).mp3" onclick="pplayMusic(this, 'music_select');">U Can Win</a>
</li>
<li>
<a id="A1" href="http://www.moderntalking.ru/real/music/Modern_Talking-Brother_Louie(DEMO).mp3" onclick="pplayMusic(this, 'music_select');">Brother Louie</a>
</li>
</ul>
<script type="text/javascript" src="http://mediaplayer.yahoo.com/js"></script>
</body>
</html>
jQuery插件音頻MP3播放器http://www.jplayer.org/0.2.1/demos/
在現代瀏覽器中,你可以使用[HTML5的'