Avatar billede perrep Nybegynder
24. maj 2011 - 12:19 Der er 8 kommentarer og
1 løsning

.attr() på et soruce tag

Jeg er ved at lave en musik afspiller til en side. Jeg bruger en blanding af html5 <audio> tagget og jquery til at skifte og sætte musikken igang..
Jeg har egentlig fået det hele til at virke, når jeg kun bruger audio tagget:

<audio id="audio-player" src="rename.mp3"  type="audio/mpeg" >
</audio>

der bruger jeg dette kode til at ændre sangen:
$('#audio-player').attr('src', songs[x]);

Men problemet er at det ikke kun skal være mp3 filer, men også .ogg filer for at det skal virke i flere browsere.
Der ved jeg man kan tilføje et source tag til audio tagget:

<audio id="audio-player" >
<source id="tjekdet" src="rename.mp3" type="audio/mpeg" />
</audio>

men når kan simpelthen ikke ændre src attributten, når jeg bruger den samme kode som før, man bare ændre på hvilken ID den skal pille ved:
$('#tjekdet').attr('src', songs[x]);

Nogen der kan forklare mig hvorfor det er? og har en løsning?
Avatar billede wanze Nybegynder
24. maj 2011 - 13:26 #1
Enten forklarer du ikke dit problem godt nok eller også udelader du noget. $('#tjekdet').attr('src', songs[x]); vil ændre src'en på dit element med id [font=Courier]tjekdet. Se evt. http://jsfiddle.net/4u2ZK/
Avatar billede perrep Nybegynder
24. maj 2011 - 16:24 #2
Ja, det er ligenøjagtig det jeg vil. Men jeg kan ikke få den til at ændre den, selv om jeg copy/paster din kode, så ændre den det bare ikke :S
Avatar billede perrep Nybegynder
24. maj 2011 - 16:32 #3
okay, nu er jeg kommet så langt at det ikke er min javascript der er noget galt med.
Den ændre sourcen, men den vil af en eller anden grund ikke afspille den :S
Avatar billede kla0005 Nybegynder
25. maj 2011 - 10:39 #4
Jeg vil gætte på at det er pga. dit "type", mpeg er jo forkortet "mp3", eller mpeg-4, "mp4"? Og det er jo ikke det format du vil spille?

Du skal bruge: type="audio/ogg"
Avatar billede perrep Nybegynder
25. maj 2011 - 10:57 #5
nejjj, når jeg laver en source med mp3, og prøver at ændre den til en anden mp3 fil, vil den stadig ikke af spille det
Avatar billede kla0005 Nybegynder
25. maj 2011 - 11:08 #6
Oh, jeg troede dit problem var med at du skiftede mp3 til ogg.
Istedet for at ændre src, har du så overvejet at ændre hele tagget?

<div id="minaudio"></div>

og så udskifte hele:
"<audio id="audio-player" >
<source id="tjekdet" src="rename.mp3" type="audio/mpeg" />
</audio>", for at ligesom "refreshe".

Gør det med jQuery funktionen html(), kunne jo være DET ville virke?
Avatar billede kla0005 Nybegynder
25. maj 2011 - 11:10 #7
<div id="minaudio">
  <audio id="audio-player" >
    <source id="tjekdet" src="rename.mp3" type="audio/mpeg" />
  </audio>
</div>

.. $("#minaudio").html('<audio id="audio-player"><source id="tjekdet" src="'+songs[x]+'" type="audio/mpeg" /></audio>');

?
Avatar billede perrep Nybegynder
25. maj 2011 - 11:14 #8
ja den kunne nok godt lade sige gøre..  havde faktisk tænkt over den, men det er bare en del mere kode, men sådan må det jo være. smid et svar og du får point.. ;)
Avatar billede kla0005 Nybegynder
25. maj 2011 - 11:21 #9
Noglegange er det alligevelet ikke så simpelt som man håbede, desværre :P
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester