Я динамически создаю аудиоконтроллер и пытаюсь показать его на форме с элементами управления. У меня есть div на форме (я пробовал это с div, td, span), и я уверен, что у меня есть его правильный код. Я использую appendChild (аудио). Если я поставлю предупреждение() непосредственно перед завершением функции, управление аудио начнет воспроизведение файла. Как только функция выходит, звуковой проигрыватель останавливается, и я никогда не вижу, чтобы отображалось управление. Что мне не хватает? Кажется очевидным, что аудио-переменная теряет область действия и больше не действует. Но почему я не могу appendChild его в div, td или span? (Я в светлячок, так сво OGG, который играет)appendChild не работает с управлением аудио
Edit - Я полагаю, я должен отметить, что это вызывается из
HTML:
<a onclick="CreateAudio($oggfile, $id)">Play</a>
JavaScript:
function CreateAudio(oggfile, id)
{
var audio = document.createElement('audio');
var source= document.createElement('source');
source.type= 'audio/ogg';
source.src= oggfile;
audio.appendChild(source);
mp3file = oggfile; // I will fix this to replace ogg extension with mp3
source= document.createElement('source');
source.type= 'audio/mpeg';
source.src= mp3file;
audio.appendChild(source);
var div = document.getElementById(id);
div.appendChild(audio);
audio.load;
audio.play();
}
К сожалению, я неграмотный. Я не знаю, как интегрировать это с моим кодом. Я использовал (предположительно рабочие) примеры, извлеченные из разных сообщений, которые не были jQuery. Спасибо за предложение. – mseifert
Вам не нужен jQuery. Я обновил свой ответ, поэтому он не использует jQuery. –
Я считаю, что audio.load(); audio.play(); должен быть с новым audioElement var. Тем не менее, управление аудио по-прежнему теряет объем. Я добавил audioElement.controls = true; поэтому теперь я могу увидеть элемент управления до его исчезновения ... – mseifert