login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Muziekspeler: start,id3,volgende

Offline webstab - 22/03/2006 14:24 (laatste wijziging 22/03/2006 14:56)
Avatar van webstabPHP ver gevorderde Ik heb begonnen met een mp3 speler in flash te maken aan de hand van verschillende tutorials op internet [waaronder degene van vintage]. Maar nu kwam ik op een probleem, en weet na 2 dagen nog altijd niet hoe ik het moet oplossen.
Actionscript:
  1. muziek = new Array("yves1.mp3", "yves2.mp3");
  2. var stmu = "0";
  3. function nieuwgeluid(stmu) {
  4. geluid=new Sound();
  5. geluid.loadSound(muziek[stmu], true);
  6. tijd.text = (geluid.position/1000)+"/"+(geluid.duration/1000);
  7. info.text = "Hier komen artiest en titel van het mp3-tje";
  8. };
  9. nieuwgeluid(stmu);
  10. stopknop.onRelease = function() {
  11. geluid.stop();
  12. };
  13.  
  14. startknop.onRelease = function() {
  15. geluid.start();
  16. };
  17. volgendeknop.onRelease = function(stmu) {
  18. if (stmu+1 < muziek.length) {
  19. var stmu = stmu+1;
  20. } else {
  21. var stmu = 0;
  22. }
  23. geluid.stop();
  24. nieuwgeluid(stmu);
  25. };
Alles staat in één frame en in één layer.
Wanneer ik op stop duw, stop de muziek daadwerkelijk, maar wanneer ik op play duw wil deze niet meer starten. De fout ligt in het actionscript want als ik ipv geluid.start(); iets anders neem, voer hij dat wel uit.

Ook de functie van ID3 van vintage werkt bij mij niet, terwijl die mp3 wel een id3-tag heeft.

De volgendeknop werkt ook niet niet naar behoren, hij gaat maar één keer verder.

Kan iemand mij helpen?

5 antwoorden

Gesponsorde links
Offline vinTage - 22/03/2006 18:39 (laatste wijziging 22/03/2006 19:12)
Avatar van vinTage Nieuw lid Er zijn 2 verschillende ID3 tags, als je onderstaande code gebruikt kan je zien welke versie je mp3tje heeft, het kan dus zijn dat hij net de andere versie heeft.

  1. geluid.onID3 = function(){
  2. for ( var prop in geluid.id3 ){
  3. trace( prop + " : "+ geluid.id3[prop] );
  4. }
  5. } //als je dit stukje codeloslaat in flash krijg je een hele waslijst te zien met alle gegeven informatie.


en een mp3 heeft meer dan 1 tag hoor, het is een hele resum, je kan er zelfs het aantal bpm/genre/platenmaatschappij etc etc etc in kwijt.

De knop ...kan het zijn dat je startknop niet EXACT startknop heet ? (de instance naam dus )

edit, je kan dit testen door gewoon het volgende erbij te zetten

startknop.onRelease = function() {
trace("klik");
geluid.start();
};

Als er dan een schermpje opkomt (tijdens het bekijken via ctrl+enter) dan is da naam goed iig en is er dus iets anders fout.
Offline webstab - 22/03/2006 20:09
Avatar van webstab PHP ver gevorderde Voor de startknop.
Wanneer ik dat erbij zet, komt er inderdaad een schermpje.

De ID3-tag probeer ik sebiet eventjes
Offline vinTage - 22/03/2006 20:21 (laatste wijziging 22/03/2006 20:37)
Avatar van vinTage Nieuw lid ik ben net ff met jou code bezig geweest, maar die klopte niet met hetgeen je in je inleiding gaf.
er werd helemaal niets verhoogt, ook niet een keer.
de startknop werkte wel...

Ik ben even begonnen met een rebuild, ik post hem straks wel.

update: ff geen zin meer (doodop van mn werk)

werkende code
  1. muziek = new Array("1.mp3", "2.mp3", "3.mp3", "4.mp3");
  2. i = 0;
  3. geluid = new Sound();
  4. geluid.loadSound(muziek[i], true);
  5. stopknop.onRelease = function() {
  6. geluid.stop();
  7. };
  8. startknop.onRelease = function() {
  9. geluid.start();
  10. };
  11. volgendeknop.onRelease = function() {
  12. if (i != muziek.length-1) {
  13. i++;
  14. geluid.loadSound(muziek[i], true);
  15.  
  16. } else {
  17. geluid.loadSound(muziek[0], true);
  18.  
  19. i = 0;
  20. }
  21. };



(nog geen id3 tags, maar als je zin hebt kan je met

  1. if (tag1 != "") {
  2. trace(tag1); //id3type 1
  3. } else {
  4. trace(tag2); //id3 type 2
  5. }

wel zoeken naar de tags die je wilt tonen oid.)

als ik weer fit ben piel ik wel weer verder 
Offline webstab - 22/03/2006 22:00
Avatar van webstab PHP ver gevorderde
  1. muziek = new Array("yves1.mp3", "yves2.mp3");
  2. infom = new Array("Yves DeRuyter - Feel Free", "Yves DeRuyter - Infinity");
  3. i = 0;
  4. geluid = new Sound();
  5. geluid.loadSound(muziek[i], true);
  6. info.text = infom[i];
  7. this.onEnterFrame = function() {
  8. tijd.text = Math.ceil(geluid.position/1000)+"/"+Math.ceil(geluid.duration/1000);
  9. };
  10. stopknop.onRelease = function() {
  11. geluid.stop();
  12. };
  13. startknop.onRelease = function() {
  14. geluid.start();
  15. };
  16. volgendeknop.onRelease = function() {
  17. if (i != muziek.length-1) {
  18. i++;
  19. geluid.loadSound(muziek[i], true);
  20. info.text = infom[i];
  21. } else {
  22. i = 0;
  23. geluid.loadSound(muziek[i], true);
  24. info.text = infom[i];
  25. }
  26. };
  27. vorigeknop.onRelease = function() {
  28. if (i != 0) {
  29. i--;
  30. geluid.loadSound(muziek[i], true);
  31. info.text = infom[i];
  32. } else {
  33. i = muziek.length-1;
  34. geluid.loadSound(muziek[i], true);
  35. info.text = infom[i];
  36. }
  37. };
De playknop werkt nog steeds niet. Vind ik heel raar. Maar eerst een ander probleem.
De tijd is correct in seconden, maar wanneer ik vind liedje verander dan verandert het totaal van seconden wel, maar telt hij gewoon verder.
Bv wanneer ik na 7 seconden naar liedje 2 ga, dan telt hij gewoon vanaf 8 terwijl hij toch vanaf seconde 1 speelt.
Offline vinTage - 22/03/2006 22:58 (laatste wijziging 22/03/2006 23:25)
Avatar van vinTage Nieuw lid Niet smokkelen met nep id3 tags he ;)

Hieronder heb ik het werkende, ik heb id3 tags type 2 gebruikt, want die schijnen backwardscompatible te zijn.

Die tijd is omdat je geen nieuwe sound object creeerd, maar je laad gewoon een ander nummer in hetzelfde object, de tijd is dus gewoon vanaf het moment dat het object gemaakt werd
Ik kijk zo wel ff of je dat kan resetten zonder een nieuw object aan te maken.


hieronder is geupdate nav dat tijd probleem
  1. muziek = new Array("1.mp3", "2.mp3", "3.mp3", "4.mp3");
  2. i = 0;
  3. geluid = new Sound();
  4. geluid.loadSound(muziek[i], true);
  5. onEnterFrame = function() {
  6. tijd.text = Math.ceil(geluid.position/1000)+"/"+Math.ceil(geluid.duration/1000);
  7. };
  8. stopknop.onRelease = function() {
  9. geluid.stop();
  10. };
  11. startknop.onRelease = function() {
  12. geluid.start();
  13. };
  14. volgendeknop.onRelease = function() {
  15. if (i != muziek.length-1) {
  16. geluid.start();
  17. i++;
  18. geluid.loadSound(muziek[i], true);
  19.  
  20.  
  21. } else {
  22. geluid.start();
  23. geluid.loadSound(muziek[0], true);
  24. i = 0;
  25.  
  26. }
  27. };
  28.  
  29. //tags uitlezen
  30. //let wel dat deze niet altijd zijn ingevuld je ziet dan undefined.
  31. geluid.onID3 = function() {
  32.  
  33. commentaar = geluid.id3.COMM;
  34. albumNaam = geluid.id3.TALB;
  35. genre = geluid.id3.TCON; //om eoa dubieuse reden geeft dit een nummer (bij de door mij geteste mp3tjes toch)
  36. songNaam = geluid.id3.TIT2;
  37. artiest = geluid.id3.TPE1;
  38. trackNummer = geluid.id3.TRCK;
  39. jaartal = geluid.id3.TYER;
  40.  
  41. //maak je info tekstveld multiline, en zorg dat hij hoog genoeg is.
  42. info.text =
  43. commentaar +newline+
  44. albumNaam +newline+
  45. genre +newline+
  46. songNaam +newline+
  47. artiest +newline+
  48. trackNummer +newline+
  49. jaartal;
  50. };


ik kom nog terug met die tijd zooi
// ondertussen dus al aangepaste hierboven.

edit[tig] De fla zonder de mp3tjes natuurlijk (noem ze zoals je ziet in het array)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.24s