首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用javascript播放mp3文件

使用javascript播放mp3文件
EN

Stack Overflow用户
提问于 2012-02-15 20:16:13
回答 2查看 21.2K关注 0票数 15

通过javascript播放mp3 (非常短)文件的最好的跨浏览器方式是哪一种?我试过不同的方法,但总有问题.

编辑1:

我不需要一个“完整”的玩家,我只需要一个函数,每当事情发生时,我都无法调用它。

编辑2:

好吧,我得更好地解释我的问题。服务器是一个连接在局域网中的智能手机,但并不总是连接到互联网上。我想使用mp3,因为文件只有3kb (而不是60 3kb的wav),但是如果播放这个文件的机制太“重”(播放器或jquery.js),我认为最好使用wav文件。其他建议?

EN

回答 2

Stack Overflow用户

发布于 2015-01-11 18:28:49

用这个:

代码语言:javascript
复制
new Audio('your/url/here').play()

这个(HTMLAudioElement)的文档可以在MDN中找到,请注意,大多数控件都是由HTMLMediaElement继承的。

票数 27
EN

Stack Overflow用户

发布于 2012-02-15 21:00:08

只需直接下载到音频文件即可加载页面。检测浏览器是否支持MP3s。如果是这样,则逐步增强直接下载到音频标记中的能力。这是一个样本:

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Audio demo</title>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/modernizr/2.0.6/modernizr.min.js"></script>
</head>
<body>
    <p id="audio">
        <a href="BadAppleEnglish.mp3">Listen &raquo;</a>        
    </p>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script src="http://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script>
    <script src="audio.js"></script>
</body>
</html>

而Javascript:

代码语言:javascript
复制
$(function () {
var audioElement = $('#audio'),
    href = audioElement.children('a').attr('href');
$.template('audioTemplate', '<audio src="${src}" controls>');
if (Modernizr.audio.mp3) {
    audioElement.empty();
    $.tmpl('audioTemplate', {src: href}).appendTo(audioElement);
}
});

我可以想象,大多数预置的MP3播放插件都是这样工作的。

更新:

由于您已经编辑了这个问题,以指定您更喜欢不使用jQuery的解决方案,所以我要指出,将这个问题重写为不使用jQuery是很简单的。只是更长更不雅致。请记住,从CDN加载的Javascript库通常由浏览器缓存。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9300655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档