浏览器中的播放按钮
我想将歌曲放在网页上并有一个播放按钮,就像在Last.fm或者Pandora上看到的那样。该站点上可能列出了多首歌曲,如果我们在播放另一首已经播放过的歌曲时,它将暂停第一首曲目并开始播放我们刚刚单击的那首歌曲。我认为他们为此使用了Flash,并且我可能会在几个小时内实现它,但是已经可以使用此代码了吗?也许只是一个Flash SWF文件,我们可以使用基本的Javascript API将其隐藏在网页上,我可以用它来流mp3文件?
另外,WMA或者AAC文件又如何呢?是否存在可以播放这3种文件类型的通用解决方案?
http://musicplayer.sourceforge.net/
解决方案
回答
我们可以使用许多Flash mp3播放器来执行此操作。通常,我们只需要编辑一个文本文件以指向我们想要的mp3.
这是在Google搜索" flash mp3 player"中显示的第一个:http://www.flashmp3player.org/demo.html
回答
如果要嵌入WMP,这非常简单,则可以通过JavaScript使用所有控件。它上面有一个很棒的MSDN部分,但我现在似乎找不到。
编辑:我在MSDN上发现了它,它包含一个嵌入式WMP将接受的属性,然后我们要做的就是通过javascript调用方法。
<OBJECT id="VIDEO" width="320" height="240" style="position:absolute; left:0;top:0;" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject"> <PARAM NAME="URL" VALUE="your file or url"> <PARAM NAME="SendPlayStateChangeEvents" VALUE="True"> <PARAM NAME="AutoStart" VALUE="True"> <PARAM name="uiMode" value="none"> <PARAM name="PlayCount" value="9999"> </OBJECT>
然后针对javascript
<script type="javascript"> obj = document.getElementById("VIDEO"); //Where video is the id of the object above. obj.URL="filename"; //You can use this to both start and change the current file. obj.controls.stop(); //Will stop obj.controls.Pause(); //Pause </script>
在这里的某个地方,我有代码甚至可以控制音量。
不久前,我纯粹使用HTML和JavaScript为客户端构建了一个自定义(外观)播放器。
回答
我很久以前就收藏过的东西,但到目前为止还没有测试过:http://www.schillmania.com/projects/soundmanager2/
回答
我赞同superjoe30的建议:我在音乐播放器方面取得了巨大的成功。唯一(略微)的负面影响是,它是一个稍旧的项目,并且不如某些替代品具有可移植性(尽管我们拥有完整的源代码,因此如果有一些时间,我们可以使其看起来完全符合需要)。