Воспроизведение динамически встроенного звукового объекта через Javascript

Мне нужно в фоновом режиме загрузить некоторые файлы WAV для HTML-страницы, используя AJAX. Я использую AJAX, чтобы получить подробную информацию о файлах WAV, затем использую тег embed, и я могу подтвердить, что файлы были успешно загружены, потому что, когда я устанавливаю autostart в true, файлы воспроизводятся. Однако мне нужно, чтобы файлы воспроизводились только тогда, когда пользователь нажимает кнопку (или событие запускается). Ниже приведен мой код для предварительной загрузки этих файлов:

function preloadMedia() {
  for(var i = 0; i < testQuestions.length; i++)  {
  var soundEmbed = document.createElement("embed");
  soundEmbed.setAttribute("src", "/media/sounds/" + testQuestions[i].mediaFile);
  soundEmbed.setAttribute("hidden", true);
  soundEmbed.setAttribute("id", testQuestions[i].id);
  soundEmbed.setAttribute("autostart", false);
  soundEmbed.setAttribute("width", 0);
  soundEmbed.setAttribute("height", 0);
  soundEmbed.setAttribute("enablejavascript", true);
  document.body.appendChild((soundEmbed));
}

}

Я использую следующий код для воспроизведения файла (в зависимости от того, какой звуковой файл хочет воспроизвести пользователь)

function soundPlay(which) {
  var sounder = document.getElementById(which);
  sounder.Play();
}

Что-то здесь не так, поскольку ни один из браузеров, которые я тестировал, не воспроизводил файлы, используя приведенный выше код. Там нет ошибок, и код просто возвращается.

Я бы оставил это на этом (то есть - я бы убедил клиента конвертировать все WAV в MP3 и использовать MooTools). Но я понял, что могу проигрывать звуковые файлы,которые не были встроены динамически.

Таким образом, та же функция soundPlay будет работать для файла, внедренного следующим образом:

<embed src="/media/sounds/hug_sw1.wav" id="sound2" width="0" heigh="0" autostart="false" enablejavascript="true"/>

в любом месте HTML.

И это хорошо работает во всех браузерах.

Кто-нибудь имеет ключ к этому? Это какое-то недокументированное ограничение безопасности во всех браузерах? (Пожалуйста, помните, что файлы загружаются динамически, как я могу подтвердить, установив для свойства autostart значение true - они все воспроизводятся).

Любая помощь приветствуется.

Ответы на вопрос(3)

Ваш ответ на вопрос