Playr: De ActionScript 3 music player class!

Ik heb gisteren de laatste wijzigingen aangebracht aan de vroegere MusicPlayer class. Zoals het er nu uitziet lijkt deze klasse af, voor een eerste ronde echt gebruik, keiharde feedback en vele suggesties.

Belangrijke wijzigingen zijn:

  • Classnames, en package names zijn aangepast.
    • De klasse zelf heet nu Playr in plaats van MusicPlayer.
    • Package name is aangepast. com.noCreativity.MusicPlayer is nu com.nocreativity.playr (met dank aan Peter Elst voor de best practice tip ;) )
  • Shuffle mode toegevoegd
  • Trackprogress kan nu ook opgevraagd worden
  • Singletrack werkt nu volledig
  • Bug ivm repeat weggewerkt

Wat doet Playr?

Playr is een Flash Actionscript 3 klasse die het maken van een volwaardige music player in Flash/Flex/AIR reduceert tot enkele regels code. Of je nu maar 1 loop wilt laten spelen, of een volledige playlist wilt afspelen in Flash/Flex/AIR: Playr kan het sneller dan jij!

Playr kan je gebruiken om een enkele loop af te spelen, of voor volledige XML afspeellijsten te laten afspelen. Zowel shuffle als repeat zijn mogelijk. Ook de interactiviteit met de gebruiker kan snel worden toegevoegd.
De Playr class is ontworpen met snelheid en gemak voor ogen

Hoe gebruik ik Playr?

3 Korte voorbeelden hoe je de Playr class kunt inzetten.

Minimaal
Je wilt gewoon één track laten afspelen.

import com.nocreativity.playr.*;
var myPlayer:Playr = new Playr();
myPlayer.singleTrack = true;
myPlayer.loadTrack("music/myTrack.mp3");
myPlayer.play();

Minimaal
Je wilt een volledige playlist afspelen zonder interactie of weer te geven informatie.

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

Maximaal

Je wilt een volwaardige music player maken, met alles erop en eraan.

import com.nocreativity.playr.*;
var myPlayer:Playr = new Playr();
myPlayer.autoPlay=true;
myPlayer.repeat = false;
myPlayer.volume = 100;
myPlayer.shuffle = true;
myPlayer.loadPlaylist("playlist.xml");
myPlayer.registerPlayButton(btnPlay);
myPlayer.registerStopButton(btnStop);
myPlayer.registerPauseButton(btnPause);
myPlayer.registerNextButton(btnNext);
myPlayer.registerPreviousButton(btnPrevious);
myPlayer.registerMuteButton(btnMute);
myPlayer.ID3SourceEnabled =true;

myPlayer.addEventListener(PlayrEvent.SONGINFO,infoHandler);
myPlayer.addEventListener(PlayrEvent.SONG_PROGRESS,songprogressHandler);
myPlayer.addEventListener(PlayrEvent.LOAD_PROGRESS,loadprogressHandler);

function songprogressHandler(e:PlayrEvent):void{
txtSongProgress.text = "Time elapsed: " +  myPlayer.trackProgress;
}
function loadprogressHandler(e:PlayrEvent):void{
txtLoadProgress.text = "Load progress: " + e.loadprogress;
}

function infoHandler(e:PlayrEvent):void{
txtTrackInfo.text = myPlayer.artist + " - " + myPlayer.trackName;
if(myPlayer.album != ""){
txtTrackInfo.appendText(" (" +myPlayer.album+")");
}
txtTrackInfo.appendText(" | " + myPlayer.trackDuration);
}
 

Playlist.xml?

Hoe deze noemt maakt in feite niet echt veel uit, zolang de inhoud volgens deze structuur is.
Betekenis van de verschillende nodes:

  • Artist: Naam van de artiest
  • Title: Naam van het liedje
  • TotalTime: Totale duur van het liedje in seconden
  • Filename: bestandspad naar de af te spelen MP3 file. (absoluut of relatief).

Documentatie over Playr?

Deze is er en kun je hier vinden.

Download

Download de Playr class hier.

Feedback & Suggesties

Heb je vragen, of zijn er onduidelijkheden? Schiet maar raak, ik bijt niet!
Zijn er onvolmaaktheden, of heb je dat geniale extra dat deze klasse nog tekort heeft? Laat mij het weten, en ik zal er zeker naar kijken.
Gebruik je deze class en ben je er tevreden mee? Ik hoor het graag. Laat ook zien in welk(e) project(en) je de class inzet!

Veel plezier!

Naamsvermelding & Gelijk delen Ik release de Playr class en de PlayrEvent class onder de Creative Commons license. Dat wil zeggen dat je alles in deze classes mag aanpassen zolang je er een verwijzing naar de originele auteur ( ik dus ;) ) in laat staan, en je deze classes met dezelfde rechten verder verdeeld.

  Plaatsen/stemmen op MSN Reporter Plaatsen/stemmen op Bligg.be Plaatsen/stemmen op Netjes.be Plaatsen/stemmen op NUjij Plaatsen/stemmen op eKudos Stumble it! Voeg dit artikel toe aan Del.icio.us Voeg toe aan je favorieten op Technorati Voeg toe aan je Google bladwijzers Voeg toe aan je Facebook-profiel Abonneer je op de RSS-feed van deze site Verstuur deze pagina per e-mail via Feedburner

12 Responses to “Playr: De ActionScript 3 music player class!”


  1. 1 Thomas

    cool dude! Maybe this will be used in some new air mp3 players who knows! ;)
    grtz

  2. 2 zaza

    Je shuffle is in feite niet meer dan gewoon een random liedje die uit je playlist word gehaald.

    Wat supercool zou zijn, is als je een shuffle-methode zou schrijven die heel de playlist door elkaar shuffled, zodat als je naar je playlist luisterd, je elk liedje te horen krijgt, maar op een random volgorde.

    just an idea to make your player even greater :)
    en ook de mogelijkheid om de xml’s die winamp / itunes / genereert af te spelen, of een playlist generator (kan perfect in air)

    work to do baby :)

  3. 3 Ronny

    @Thomas: Thanks man! Make sure to keep me posted about Interlude ;)

    @zaza: Je hebt volkomen gelijk wat de shuffle betreft. Zal ik zeker nog aanpassen naar een ‘echte’ shuffle. Playlist generator stond al op het plan. Itunes/Winamp ondersteuning zal niet voor meteen zijn. Misschien later eens :)

    Bedankt alvast!

  4. 4 krueL

    Super klasse. Goed gedaan! Ik zal er allesinds mee werken.

  5. 5 The Fluff

    Heya

    Ga het mss es gebruiken voor m’n eigen website als ik nog eens tijd vind om een nieuwe te maken!

    Cool!

  6. 6 Pimm Hogeling

    Regel 630 moet wat mij betreft zijn:
    case “paused”:

  7. 7 Ronny

    @Pimm: Good catch! Copy/Paste slordigheidje. Thx man!

  8. 8 Sam

    kun je myPlayer.trackProgress; omzetten naar het aantal seconden? nu staat er bv 1:23, maar ik zou willen dat het 83 wordt, nu is het ook een String dacht ik, en ik wil dat het een Number wordt
    Dit zou ik graag weten, omdat ik een progressbar maak

  9. 9 Ronny

    Ik zal dat later inbouwen. Heb het nu even druk :) Is niet veel werk en kan wel handig uitkomen :)

  1. 1 Open-source MP3 Player Class: MusicPlayer at noCreativity.com
  2. 2 Open-source MP3 Player Class: MusicPlayer (Beta release) at noCreativity.com
  3. 3 Playr: An AS3 music player engine « Thomas Joos - interactive designer

Leave a Reply