Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][HTML]Play/Pause Audio - problem, problem po kliknięciu play i brak zmiany nazwy button na play
ReBeLs513
post 30.01.2022, 20:12:52
Post #1





Grupa: Zarejestrowani
Postów: 233
Pomógł: 0
Dołączył: 14.03.2010
Skąd: Dessau

Ostrzeżenie: (0%)
-----


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.  


Ten post edytował ReBeLs513 30.01.2022, 20:25:33


--------------------
Przypomnij o "+", jeśli mi pomogłeś a nie zapunktowałem :P
Go to the top of the page
+Quote Post
miccom
post 31.01.2022, 09:28:52
Post #2





Grupa: Zarejestrowani
Postów: 493
Pomógł: 8
Dołączył: 7.07.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


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


--------------------
Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU!
Go to the top of the page
+Quote Post
ReBeLs513
post 1.02.2022, 06:52:51
Post #3





Grupa: Zarejestrowani
Postów: 233
Pomógł: 0
Dołączył: 14.03.2010
Skąd: Dessau

Ostrzeżenie: (0%)
-----


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


--------------------
Przypomnij o "+", jeśli mi pomogłeś a nie zapunktowałem :P
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 9.05.2025 - 07:22