私のウェブサイトには、いくつかの mp3 を含むディレクトリがあります。PHPを使用して、Webサイトでそれらのリストを動的に作成します。
それらに関連付けられたドラッグ アンド ドロップ機能もあり、それらの mp3 のリストを選択して再生できます。
さて、そのリストを与えて、どうすればボタン (再生) をクリックして、リストの最初の mp3 をウェブサイトで再生させることができますか? (音楽がウェブサイトのどこにあるかも知っています)
私のウェブサイトには、いくつかの mp3 を含むディレクトリがあります。PHPを使用して、Webサイトでそれらのリストを動的に作成します。
それらに関連付けられたドラッグ アンド ドロップ機能もあり、それらの 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
3 つの引数を取ります。サウンドのsource
URL、volume
(from 0
to 100
)、およびloop
( true
to ループ、to ループで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
audio
おそらく、新しい HTML5要素を使用して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>