我的网站上有一个目录,里面有几个 mp3。我使用 php 在网站中动态创建了它们的列表。
我还有一个与它们相关的拖放功能,我可以选择要播放的那些 mp3 列表。
现在,给出该列表,我如何单击按钮(播放)并使网站播放列表的第一个 mp3?(我也知道网站上的音乐在哪里)
我的网站上有一个目录,里面有几个 mp3。我使用 php 在网站中动态创建了它们的列表。
我还有一个与它们相关的拖放功能,我可以选择要播放的那些 mp3 列表。
现在,给出该列表,我如何单击按钮(播放)并使网站播放列表的第一个 mp3?(我也知道网站上的音乐在哪里)
new Audio('<url>').play()
如果你想要一个适用于旧浏览器的版本,我制作了这个库:
// source: https://stackoverflow.com/a/11331200/4298200
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
接受三个参数。声音的source
url,volume
(from 0
to 100
) 和loop
( true
to loop,false
not to loop)。
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
您可能希望使用新的 HTML5audio
元素来创建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 支持,您需要在标签内附加一个object
元素。audio
你可以试试SoundManager 2:它会透明地处理<audio>
任何支持的标签,并在不支持的地方使用 Flash。
用于音频 mp3 播放器的 Jquery 插件http://www.jplayer.org/0.2.1/demos/
好好享受 ;)
<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>