我正在制作一个聊天应用程序,其中一个功能是发送声音。发送的 HTML 如下:
<p>
<audio autoplay>
<source src="sounds/lol.mp3" type="audio/mpeg">
</audio>
LOL
<a href="#" id="soundStop">Stop</a>
<a href="#" id="soundPlay" style="display:none;">Play</a>
</p>
第一次发送时,“自动播放”工作正常。所以现在我需要一个播放/停止链接来再次听到你想要的声音。我有以下Javascript:
$(document).on('click', '#soundStop', function(e) {
$(this).hide();
$(this).next("a").show();
$('audio').each(function(){
this.pause();
this.currentTime = 0;
});
e.preventDefault();
});
$(document).on('click', '#soundPlay', function(e) {
$(this).hide();
$(this).prev("a").show();
$(this).closest("audio").play();
//alert("play sound again!");
e.preventDefault();
});
停止功能有效(尽管我不确定针对所有“音频”元素是个好主意)。但我被困在如何在第二个函数中将音频元素定位到 .play() 。我可能会以完全错误的方式进行此操作?
任何帮助或建议表示赞赏。
编辑:澄清一下,这些声音可能有多个实例被发送,这就是为什么我需要一种方法只针对每个特定的“音频”。