Open-source MP3 Player Class: MusicPlayer

Published by Ronny on September 30th, 2007 in Actionscript, Flash, Open-source, download. 10 Comments

Update: Er is een nieuwe versie van deze klasse die je hier kan vinden. De download van deze versie heb ik verwijderd om die reden.

Ik heb zonet mijn eerste Actionscript 3 experiment afgewerkt.
Het resultaat is een musicplayer class die iedereen voor z’n eigen doeleinden mag gebruiken.
Voor mij was het een leuke en uitgebreide oefening, maar gezien ik niet meer verder zal werken aan de Actionscript 2 versie van de musicplayer lijkt dit me een mooi vervolg.

Wat Actionscript 3 zelf betreft: Ik ben er helemaal van onder de indruk. Even aanpassen, maar eens ik het door had was het erg makkelijk om over te schakelen.

Ik heb de class gebouwd met het oog op simpel bij gebruik. De uiteindelijke gebruiker van de class moet zo weinig mogelijk zelf doen. Dat is me ook gelukt.

Je kunt gebruik maken van een XML bestand om je playlist op te maken: Voorbeeld

Voorbeeld 1:
Erg minimaal gebruik van de class.

  1. import com.nocreativity.playr.*;
  2. var myPlayer:Playr = new Playr();
  3. myPlayer.autoPlay=true;
  4. myPlayer.loadPlaylist("playlist.xml");

Voorbeeld 2:
Gebruik van de buttonhandlers, repeat eigenschap, en volume door middel van de class.

  1. import com.nocreativity.playr.*;
  2. var myPlayer:Playr = new Playr();
  3. myPlayer.autoPlay=true;
  4. myPlayer.repeat = true;
  5. myPlayer.volume = 100;
  6. myPlayer.loadPlaylist("playlist.xml");
  7. myPlayer.registerPlayButton(btnPlay);
  8. myPlayer.registerStopButton(btnStop);
  9. myPlayer.registerPauseButton(btnPause);
  10. myPlayer.registerNextButton(btnNext);
  11. myPlayer.registerPreviousButton(btnPrevious);
  12. myPlayer.registerMuteButton(btnMute);

-Nieuwe versie hier te vinden-

Indien je vragen, opmerkingen, suggesties hebt: Aarzel niet om ze hier te stellen!
Ontdek je bugs, of zijn er onvolmaaktheden? Post ze hier!
Gelijk welke reden dan ook: laat me iets weten.

Indien je mijn class gebruikt, laat me iets weten zodat ik een idee heb of jullie er iets aan hebben!

Veel succes en plezier ermee :)

Posts that somehow relate to this one:

You liked this article? No shit? Well, feel free to donate or share it with your friends using the following links. :)

popular opinion

10 others felt like sharing their feelings about this. Feel free to do so as well.

zaza @ 17:58 - September 30th, 2007

Mss es kort bijzetten in welke map je de muziek / xml file moet zetten
(of de gebruiker de keuze te geven)

Ronny @ 18:06 - September 30th, 2007

Zaza,

De XML file en de muziek mogen staan waar je wilt :)
De XML file roep je op vanuit een SWF (waar je zelf de url naar het bestand ingeeft), dus dat kan via relatieve paden mappen omhoog of omlaag, of via absolute paden naar een bepaald XML bestand op jouw server.
Hetzelfde geld voor de muziek. In het XML bestand kan je het bestandspad instellen.
In mijn voorbeeld kun je dat al zien :)
music/myTrack.mp3

Voor alle duidelijkheid zal ik even een voorbeeld online zetten :)

Mathijs @ 14:28 - December 19th, 2007

Hallo,

dit werkt perfect, dankje daarvoor! Enkel.. Als ik publish repeat mijn muziek na 5 seconden en komt in een soort loop. Daardoor spoelt het liedje na 5 seconden terug naar 0 terwijl het originele blijft spelen.. Enzovoort enzovoort. Bestaat hiervoor een fix?

Ronny @ 16:52 - December 19th, 2007

Hey Matthijs,

Ik ben niet op de hoogte van dit probleem.
Aarzel niet om me de volledige FLA en de bijhorende bestanden door te mailen naar ’senderHas[at]noCreativity.com’.
Ik zal dan zien wat ik voor je kan doen.

Alvast bedankt om het te melden.

Mathijs @ 20:39 - December 26th, 2007

Het is reeds in orde! Dankje! Ik vroeg mij alleen af wat het beste is in mijn geval:

Ik ben een site aan het maken met op alle pagina’s de knoppen voor de MP3 speler. De muziek werkt op alle pagina’s perfect, maar als ik terugkeer naar de homepage, dan begint m’n muziek opnieuw te spelen (achter het nummer dat nu bezig, tegelijkertijd dus). Ik ben een redelijke beginner in flash dus ik weet niet goed hoe ik mijn keyframes moet zetten… Momenteel ziet het er zo uit:

http://img180.imageshack.us/img180/4398/picture1xm0.png

Er zijn 5 frames in gebruik voor 5 pagina’s.

Dankje!

krueL @ 15:20 - December 29th, 2007

ArgumentError: Error #1063: Argument count mismatch on MusicPlayer/::soundCompleteHandler(). Expected 0, got 1.

Ik krijg constant die foutmelding, enige oplossing?

Ronny @ 15:39 - December 29th, 2007

@Matthijs: waarschrijnlijk komt je terug op frame 1 waardoor je code voor de player opnieuw uitgevoerd wordt (en als gevolg daarvan begint je muziek opnieuw te spelen).

@krueL: mail me eens je FLA zodat ik kan zoeken hoe je aan die fout komt .

Ronny @ 16:05 - December 29th, 2007

Ik heb zonet een minor update online gezet.
Met dank aan Matthijs om zijn error te melden en mij een versie van zijn FLA op te sturen.

@Kruel: je error is dezelfde als deze van Matthijs: download de nieuwste versie van de class. Daarmee zou je probleem verholpen moeten zijn.

Momenteel probeer ik ID3 volledig in te bouwen zodat je allerhande info kunt opvragen rechtstreeks vanuit de MP3 file zelf.
Ook probeer ik de songprogress en de loadProgress toe te voegen zodat je makkelijk een trackbar en loadProgressBar kunt toevoegen.

notawish @ 2:16 - December 31st, 2007

Ik had dezelfde error maar die is bij deze dan ook gefixt.
Prachtig werk Ronny!
Een ideetje is om de titel en artiest te kunnen inladen in een tekstveld. Gemakkelijke manier is om de info uit de xml te halen.
Persoonlijk vind ik ID3 niet echt handig, altijd foute tags enzo.

Ronny @ 2:20 - December 31st, 2007

Notawish,

Dat kan gewoon hoor! Kijk maar eens naar de nieuwe versie van de MusicPlayer: http://nocreativity.com/blog/open-source-mp3-player-class-musicplayer-beta-release
daar is dit al mogelijk ;)

Freedom of speech!

Whatever it is you feel: Tell me! It's for free!