我在网站上有一个目录,里面有几首音乐。
我想要的是单击一个简单的按钮并听其中一首音乐。
这可能使用php吗?
PHP 是一个服务器端脚本,更多地用于数据处理和与数据库交互。您正在寻找的是客户端脚本,因此使用 javascript 或 flash 是播放 MP3 的更好方法。有很多免费的 JS 和 Flash 插件供您在 Internet 上下载或安装。
我个人最喜欢的是 SoundManager2, http://www.schillmania.com/projects/soundmanager2/ ,它更像是一个开发类型的 API,用于创建和定制您自己的应用程序。它是迄今为止最灵活的音频播放器之一,因为它具有令人难以置信的小型优化构建。
有这个脚本生成器,您可以在其中让您的网页播放音频。这是链接: http ://www.scriptgenerator.net/44/Audio-player-script-generator/
您可以使用 HTML5:
var snd = new Audio("file.wav"); // buffers automatically when created
snd.play();
然后您可以使用 onclicks 等并触发snd.play()
但是看你的问题,我认为 HTML5 不支持 mp3 ......
当然,仅使用 PHP 是不可能的(因为 PHP 是服务器端,我认为你想玩客户端)。但是,无论使用 javascript / flash,这都可以轻松完成。
如果你想变得很酷(并且不必支持旧的用户代理),你可以使用 html5 的原生音频。
我对尝试使用 JS 并退回到 flash的AudioManager 2玩得很开心。
媒体处理由浏览器管理。最好的方法是从您的 PHP 中推出一个嵌入音频的 HTML 页面,请参阅:-
http://www.w3schools.com/html/html_sounds.asp
如果没有在 HTML 中正确嵌入它们,浏览器会将它们视为要下载的文件,然后由每个浏览器决定它使用什么助手来播放它们,或者它们是否只是保存到磁盘上。
好的,直接用 php 播放歌曲不是正确的方法,或者你可能甚至找不到安全的方法来做到这一点,网上有一些非常好的选择,我的意思是 jquery 插件,如 jwPlayer,你可以在谷歌上搜索更多。这可以帮助您设置带有播放列表的完整音频播放器。但是我再次不确定您的想法是什么,我创建了一个简单的功能来帮助您播放歌曲。
<?php
function getUploadedFiles($directory){
$folder = opendir($directory);
while ($file = readdir($folder)) {
if($file !== '.' && $file !== '..')
{
$filename = $directory.'/'.$file;
$file_array[] = array('filename' => $file);
}
}
return $file_array;
}
$music = getUploadedFiles('music');
foreach($music as $value)
{
echo '<a href="music/'.$value['filename'].'">'.$value['filename'].'</a>';
}
?>
功能将主要取决于安装在用户机器内的浏览器或音乐播放器,因此永远不要相信用户将拥有什么+您的文件路径将可见。
我仍然建议寻找一个稳定的 jquery html5 插件,它支持 flash 作为后备,您可以轻松地设置带有播放列表的完整音频播放器。