javascript - 通过 ID 停止音频元素

标签 javascript html audio

感谢您查看我的问题。我遇到了停止音频元素的绊脚石,我希望得到一些帮助。我正在使用参数动态创建音频元素,如下所示。

var audio = document.createElement("audio");
audio.setAttribute('id', params[0]);

这工作正常,params[0] 是一个用户参数。例如,我可以提醒audio.id,并得到“背景音乐”。并且 audio.play 有效。当我试图阻止它时,问题就来了。

var audio = document.getElementById(params[0]);
audio.pause();

我以为这会起作用,但它每次都返回 null。我是一个完全的 javascript 菜鸟,我确信这是一个菜鸟错误,但我做错了什么?

提前非常感谢您。

最佳答案

创建音频元素后,将其附加到 dom 中的某个元素。

var audioElement = document.createElement('audio');
    audioElement.setAttribute('src', 'http://home.tiscali.nl/~jvanderw/malaysia02/sounds/greatargus.mp3');
    audioElement.setAttribute('id', "user_id");
    audioElement.load()
$("#audio_div").append(audioElement); 

我创建了一个 fiddle ,检查这个 http://jsfiddle.net/QG68M/

关于javascript - 通过 ID 停止音频元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21200553/

相关文章:

javascript - 将 Base64 图像发布到 Mvc Controller

javascript - JQuery Post inside Promise inside every 如何创建数组

audio - 如何使用 FFMPEG 从没有音频的图像转换 MP4 视频文件?

javascript - Android chrome 中 JS 代码的低延迟音频播放

html - HTML对象嵌入音量

javascript - jQuery ajax 无法连接 Web 服务 .net (asmx)

javascript - 如果数据源中的值为空,是否删除文本字段?

javascript - 如何将我的日期选择器更改为仅限年份的选择器?

html - 如何让这张响应式卡片变得更大?

html - 320px 宽 div 周围不需要的边框