Я использовал некоторый код из этой темы, чтобы создать веб-сайт, на котором случайно выбранный звук воспроизводится при щелчке изображения: Воспроизведение случайных звуков без повторения .Для меня было важно, чтобы звуки не повторялись до тех пор, пока не будет циклически пройдена вся серия, поэтому я выбрал следующее решение: http://jsfiddle.net/cbuckley/FdLge/
Это работает как чудо в Google Chrome,но по какой-то причине он не воспроизводит звук в других веб-браузерах, таких как Safari.Я знал, что это не будет работать на мобильном телефоне, но я не ожидал этого.Любые идеи, что я могу сделать, чтобы решить эту проблему?
Это мой сайт, для справки: http://comfortinajar.com/
HTML-код выглядит следующим образом:
<div id="element"></div>
<img src="Images/Screen.jpg" id=test>
иСценарий:
<script>
var sounds = [];
// Return the full list of URLs in random order
function getSounds() {
return [
'Audio/Comfort1.mp3',
'Audio/Comfort2.mp3',
'Audio/Comfort3.mp3',
'Audio/Comfort4.mp3',
'Audio/Comfort5.mp3',
'Audio/Comfort6.mp3',
'Audio/Comfort7.mp3',
'Audio/Comfort8.mp3',
'Audio/Comfort9.mp3',
'Audio/Comfort10.mp3',
'Audio/Comfort11.mp3',
'Audio/Comfort12.mp3',
'Audio/Comfort13.mp3',
'Audio/Comfort14.mp3',
'Audio/Comfort15.mp3',
"Audio/Comfort16.mp3",
"Audio/Comfort17.mp3",
"Audio/Comfort18.mp3"].sort(function () {
// http://stackoverflow.com/a/18650169/283078
return (.5 - Math.random());
});
}
// Play the next sound
function playSound() {
if (!sounds.length) {
// Get the list of sounds (random order)
sounds = getSounds();
}
// Pops a URL every time, ensuring all are played exactly once
$("#element").html(
'<embed src="' + sounds.pop() +
'" hidden="true" autostart="true" />'
);
// Once all the URLs have been popped, the array is repopulated
}
$('#test').click(playSound);
</script>
Код также в настоящее время вызывает переход на страницу, где тег div (в самом низу страницы) находится в первый раз, когда он загружается, и белый блок остается там послеи первый загруженный звук по какой-то причине затухает (снижается слышимость), но меня меньше волнуют эти проблемы.Все, что меня действительно волнует, - это заставить звук работать во всех браузерахДайте мне знать, если вы можете помочь!