Javascript воспроизводит звук при наведении. остановка и сброс при зависании

function EvalSound(soundobj) {
    var thissound=document.getElementById(soundobj);
    thissound.currentTime = 0;  
    thissound.Play();
}

function StopSound(soundobj) {
    var thissound=document.getElementById(soundobj);
    thissound.Stop();
}

Это мой код для воспроизведения аудиофайла,

onmouseover="EvalSound('sound1')" onmouseout="StopSound('sound1')"

В настоящее время он работает при наведении, однако, когда я возвращаюсь к изображению, которое воспроизводится под ним, не возвращается к началу, он продолжает воспроизведение.

3 ответа

Решение

Тег - это старый способ встраивания мультимедиа. Вам действительно следует использовать новые теги HTML5

Вот простой пример, который воспроизводит аудиофайл при наведении мыши и останавливает его при наведении мыши.

HTML:

<p onmouseover="PlaySound('mySound')" 
    onmouseout="StopSound('mySound')">Hover Over Me To Play</p>

<audio id='mySound' src='http://upload.wikimedia.org/wikipedia/commons/6/6f/Cello_Live_Performance_John_Michel_Tchaikovsky_Violin_Concerto_3rd_MVT_applaused_cut.ogg'/>

Javascript:

function PlaySound(soundobj) {
    var thissound=document.getElementById(soundobj);
    thissound.play();
}

function StopSound(soundobj) {
    var thissound=document.getElementById(soundobj);
    thissound.pause();
    thissound.currentTime = 0;
}

Для получения дополнительной информации обратитесь к руководству по MDN для встраивания аудио и видео.

У меня был тот же вопрос, по поводу запуска и остановки аудио. Я использую jQuery без каких-либо других плагинов. Мой код для mousedown и mouseup, но может быть изменен на другие действия.

HTML

<div class="soundbutton">
   cool wind sound
</div>
<audio id="wind-sound" src="wind-sound/wind.mp3">

Javascript

$('.soundbutton').on('mousedown', function () {     
    playWind();                                  //start wind sound
})
.on('mouseup', function () {                    
    stopWind();                                  //stops the wind sound
});


// my full functions to start and stop

function playWind () {                           //start wind audio
  $('#wind-sound')[0].volume = 0.7;
  $('#wind-sound')[0].load();
  $('#wind-sound')[0].play();
}
function stopWind () {                           //stop the wind audio
  $('#wind-sound')[0].pause();
  $('#wind-sound')[0].currentTime = 0;           //resets wind to zero/beginning
}
<html>

<script>
function stopAudio() {                      
player.pause();
player.currentTime = 0;           
}
</script>


<body>
<audio id="player" src="(place audio here)"></audio>

<div> 
<button onclick=" stopAudio()">Stop</button>
</div>

</body>
</html>

// Конец Примечание: вы должны посмотреть на ваш аудио идентификатор, так как мой называется "player", поэтому он не работает, посмотрите на ваш CSS и ваш HTML очень внимательно в ваших строках. Другая вещь, с которой вы должны быть осторожны, это ваша функция вызова, так как моя указана как stopAudio(), ваша может быть названа иначе. Функция работает только с css, если вы правильно используете метод вызова.

Другие вопросы по тегам