Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML]Play/Pause Audio - problem
Forum PHP.pl > Forum > Przedszkole
ReBeLs513
cześć.

Na mojej stronie wstawiłem sobie kod na odtwarzanie więcej jak jednego pliku. Ważne było, aby podczas przełączenia dźwięki nie nachodziły na siebie i tojest super.

Ale chciałem zrobić też tak, aby ten sam przycisk robił play i pause i zmieniał odpowiednio nazwę. Tzn. jak audio gra to przycisk zmieni napis z play na pause i na odwrót.
Wstawiłem

  1. pause[button].addEventListener('click', () => {
  2. main_player.pause()
  3. pause[button].innerHTML = "play";
  4. })

po "main_player.play()
})"
ale po kliknięciu na play muszę jeszcze kliknąć na play w odtwarzaczu. I button w ogóle nie zmienia nazwy na play i nie pauzuje.

Z kolei jak dodam tylko

  1. pause[button].addEventListener('click', () => {
  2. main_player.pause()

to owszem, musze ponownie kliknac play w odtwarzaczu ale pauza działa.

Niżej cały kod bez funkcji pause() ze zmianą nazwy na pause:

  1. <audio src="/demo/03. Adel Tawil - Tu m'appelles (feat. PEACHY).mp3" type="audio/mp3" class='audios'></audio>
  2. <button class='fas fa-play'>play</button>
  3.  
  4. <audio src="/demo/03. 24kGoldn - Mood (feat. iann dior).mp3" type="audio/mp3" class='audios'></audio>
  5. <button class='fas fa-play'>play</button>
  6. <hr />
  7.  
  8. <audio class='main-audio' controls>
  9. <source src="#" type="audio/mp3">
  10. </audio>
  11.  
  12.  
  13. const audios_with_src = document.querySelectorAll('.audios')
  14. const play = document.querySelectorAll('.fa-play')
  15. const pause = document.querySelectorAll('.fa-play')
  16. const main_player = document.querySelector('.main-audio')
  17.  
  18. for(let button =0; button < audios_with_src.length; button++) {
  19. play[button].addEventListener('click', (e) => {
  20. main_player.src = audios_with_src[button].src;
  21. play[button].innerHTML = "pause";
  22. main_player.play()
  23. })
  24.  
  25.  
  26.  
  27. }
  28.  
miccom
Ja jakiś czas temu robiłem takie audio smile.gif


Podejrzyj ko źródłowy i może u siebie coś dopasujesz smile.gif

Kliknij w tytuł- otworzy ci się audio smile.gif

Audio na stronie - własne przyciski sterujace
ReBeLs513
znalazłem.

wystarczyło dodać

  1. main_player.onended = (event) => {
  2. myIcon.innerHTML = "Play";
  3. };
  4. main_player.onpause = (event) => {
  5. myIcon.innerHTML = "Play";
  6. };
  7.  
  8. document.addEventListener('play', function(e){
  9. if(main_player && main_player != e.target){
  10. main_player.pause();
  11. main_player.currentTime = 0;
  12.  
  13. }
  14. main_player = e.target;
  15. }, true);
  16.  


i śmiga wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.