Вы правы, говоря, что он, похоже, не может вызвать собственный звуковой тег обычным способом, не используя vanilla js и jquery. Я попытался использовать класс (который, как я думал, будет успешным), но безрезультатно.
Однако, я сказал, что у меня есть решение вашей общей проблемы. Попробуйте приведенный ниже фрагмент. Когда один игрок выбран, остальные останавливаются. (за один раз воспроизводится только один).
Вы можете расширить это, добавив видимый класс при воспроизведении отображения видимости для скрытия или отображения: по умолчанию нет (но на самом деле тогда как вы нажмете кнопку воспроизведения?) Hmmm) Во всяком случае, укажите, настройте, как вы пожелает.
надеюсь, что это помогает
$("audio").each(function(index) {
var num = index+1;
$(this).attr('id','myaudio' + num);
});
document.addEventListener('play', function(e){
var aplayers = $('audio');
var leng = $('audio').length;
//console.log(leng);
for(var i = 0; i < leng;i++){
if (aplayers[i] != e.target){
aplayers[i].pause();
}
}
}, true);
audio{margin-bottom:10px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<audio id=' ' controls src="http://www.soundjay.com//mechanical/gun-cocking-01.mp3">
</audio>
<audio id=' ' src="http://www.rachelgallen.com/monkey.mp3" controls>
</audio>
<audio preload="none" src="http://webaudioapi.com/samples/audio-tag/chrono.mp3" type="audio/mpeg" controls=""></audio>
Параметр ''