Воспроизведение аудио с помощью Javascript?

Не очень хорошо, если вы положили весь файл в память, я знаю, что в настоящее время у каждого есть тонны памяти, но подумайте, есть ли в файле несколько ГБ журналов или что-то в этом роде.

Лучше всего скопировать его строку по строке в новый файл, чем удалить первый или что-то подобное

584
задан Danny Beckett 14 April 2013 в 23:33
поделиться

3 ответа

У меня были некоторые проблемы с проигрыванием аудио, тем более, что Chrome обновил это, пользователь должен взаимодействовать с документом сначала.

Однако почти через все решения я нашел, то, что код JS должен активно установить слушателей (например, нажатия кнопок) для получения пользовательских событий для проигрывания аудио.

В моем случае я просто хотел, чтобы моя игра играла BGM, как только плеер взаимодействует с ним, таким образом, я сделал меня простым слушателем, который продолжает проверять, взаимодействуется ли веб-страница или нет.

const stopAttempt = setInterval(() => {
    const audio = new Audio('your_audio_url_or_file_name.mp3');
    const playPromise = audio.play();
    if (playPromise) {
      playPromise.then(() => {
        clearInterval(stopAttempt)
      }).catch(e=>{
        console.log('' + e);
      })
    }
}, 100 )
0
ответ дан 22 November 2019 в 21:53
поделиться

С требованиями к защите, которые пользователь должен взаимодействовать с веб-страницей для аудио, которому позволят, это - то, как я делаю это, на основе чтения многих статей, включая на этом сайте

  1. Определяют необходимые звуковые файлы в Вашем html
  2. , Имеют игровую кнопку запуска с onclick
  3. , Когда кнопка нажата затем игра и пауза, ВСЕ звуковые файлы запрещают тот, который Вы хотите играть вначале

, поскольку все звуковые файлы "игрались" на том же OnClick, можно теперь играть их любое время в игре без ограничений

Примечание, которые для лучшей совместимости не используют wav файлы, MS не поддерживают их

Использование mp3 и ogg, который покрывает все устройства

Пример:

<audio id="welcome">
    <source src="URL/welcome.ogg" type="audio/ogg">
    <source src="URL/welcome.mp3" type="audio/mpeg">
    Your browser does not support the audio element.
</audio>

повторение по мере необходимости для всего аудио в игре

Затем:

document.getElementById("welcome").play();
document.getElementById("welcome").pause();

повторение по мере необходимости кроме не приостанавливает аудио, которое Вы хотите услышать, когда игра запускается

0
ответ дан 22 November 2019 в 21:53
поделиться

Вот решение на 2020 год, когда Вы видите ошибку:

[Ошибка] Необработанное Отклонение Обещания: NotSupportedError: операция не поддерживается. (анонимная функция) rejectPromise игра (анонимная функция) (testaudio.html:96) отправка (jquery-3.4.1.min.js:2:42577)

<час>
<div onclick="new Audio('/assets/test.mp3').play()">aaa</div>

не является гладкой и думает ох, что это - старая школа oclick, я просто перемещу это ниже на страницу к моему jQuery или моему внешнему файлу JavaScript. Нет. Это должно быть onclick.

0
ответ дан 22 November 2019 в 21:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: