HTML аудио элемент, как воспроизвести? - PullRequest
8 голосов
/ 10 августа 2011

Я установил страницу HTML5, которая включает в себя узел.Страница будет воспроизводить музыку (в формате mp3), но она будет воспроизводить звук до конца, и я использую javascript для управления аудиоэлементом, даже если я не могу воспроизвести ее и только STOP.Поддержка аудиоэлемента REPLAY?А как?

Ответы [ 7 ]

19 голосов
/ 10 августа 2011

пожалуйста, прочитайте это

http://www.position -absolute.com / статьи / введение-к-html5-аудио-таг-Javascript-манипуляция /

и для события воспроизведения

вы можете установить опцию, на воспроизведение нажмите

audioElement.currentTime=0;
audioElement.play();
3 голосов
/ 26 ноября 2013

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

Сработал следующий код (хотя бы chrome):

audioElement.setAttribute ('src', audioSrc); audioElement.play ();

другими словами, снова установив атрибут src, затем play () выполнил задание

2 голосов
/ 27 мая 2014

Если сервер, на котором размещено видео, не поддерживает поиск на клиенте (HTTP RangeRequest), команда

audioElement.currentTime=0;

из @ JapanPro ответ молча игнорируется в Chromium. Это поведение заполняется как crbug # 121765 .

На MDN есть удобное руководство по настройке сервера для хорошей игры. Но если вы не можете, у меня был успех с

audioElement.load();

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

источник: http://www.whatwg.org/specs/web-apps/current-work/#loading-the-media-resource

2 голосов
/ 10 августа 2011

У аудиоэлемента html5 есть атрибут loop, который устанавливает его в loop = loop

http://www.w3schools.com/html5/html5_audio.asp

0 голосов
/ 15 декабря 2018

Использование:

  audio.pause() // important!!!
  audio.currentTime = 0
  audio.play()
0 голосов
/ 11 января 2016

не используйте node.load() это слишком медленно для медленных устройств.

Чтобы остановиться, просто используйте:

node.currentTime = 0

Для воспроизведения вы можете сделать:

node.currentTime = 0
node.play()
0 голосов
/ 10 августа 2011

Вы можете попробовать это:

<audio id="audiotag1" src="audio/flute_c_long_01.wav" preload="auto"></audio>
<a href="javascript:play_single_sound();">Play 5-sec sound on single channel</a>
<script type="text/javascript">
    function play_single_sound() {
        document.getElementById('audiotag1').play();
    }
</script>

Ссылка: http://www.storiesinflight.com/html5/audio.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...