2010-03-26 25 views
0

J'ai expérimenté avec PulpCore, en essayant de créer my own tower defence game (pas encore jouable), et je l'apprécie beaucoup J'ai rencontré un problème que je n'arrive pas à comprendre . J'ai étendu PulpCore avec la chose JOrbis pour permettre aux fichiers OGG d'être joués. Fonctionne bien. Cependant, pulpCore semble avoir un problème avec la boucle du son tout en animant le niveau du volume. J'ai essayé ceci avec le fichier wav aussi, pour m'assurer que ce n'est pas jOrbis qui le casse. Le code est comme ceci:Lecture de musique PulpCore - son de boucle et volume d'animation

Sound bgMusic = Sound.load("music/music.ogg"); 
Playback musicPlayback; 
... 

musicVolume = new Fixed(0.75); 
musicPlayback = bgMusic.loop(musicVolume); 
//TODO figure out why it's NOT looping when volume is animated 
// musicVolume.animate(0, musicVolume.get(), FADE_IN_TIME); 

Ce code, aussi longtemps que la dernière ligne est commenté, joue le music.ogg encore et encore dans une boucle sans fin (que je peux arrêter en appelant arrêt sur la lecture objet retourné par loop() Cependant, je voudrais que la musique apparaisse progressivement, donc en suivant les conseils des docs de l'API PulpCore, j'ai ajouté la dernière ligne qui créera le fondu en entrée mais la musique ne jouera qu'une seule fois Je me demande pourquoi arrêter est que Voici un peu de la documentation.?

lecture pulpcore.sound.Sound.loop (niveau fixe)

Boucle ce clip audio avec le niveau de volume spécifié (0,0 à 1,0). Le niveau peut avoir une animation attachée.

Paramètres: Niveau

Retourne: un objet de lecture pour cette lecture sonore uniques (un son peut avoir de nombreux objets de lecture simultanés ) ou null si le son ne pas joué.

Alors, quel pourrait être le problème? Je répète, avec la dernière ligne, le son s'estompe mais ne boucle pas, sans ça il boucle mais commence avec le niveau de volume spécifié de 0,75. Pourquoi ne puis-je pas animer le volume de la lecture de musique en boucle? Qu'est-ce que je fais mal? Quelqu'un a une expérience avec pulpCore et a rencontré ce problème? N'importe qui pourrait télécharger PulpCore et essayer de faire une boucle de musique qui s'estompe (in)?

note: Je dois conserver une référence à l'objet Lecture retourné afin que je puisse tuer la musique plus tard.

Répondre

0

Enfin, j'ai réussi à obtenir une explication et une simple solution à ce problème de la part de l'auteur de la base de données. Donc, voici:

C'est un bug de PulpCore. Lorsque le volume de sortie est zéro, le lecteur audio s'arrête en boucle le son.

Pour travailler autour d'elle, l'animation d'une valeur non nulle, comme ceci:

musicVolume.animate(0.0001, 1, FADE_IN_TIME); 

Link to this on pulpcore Google groups

+0

CECI EST MA RÉPONSE ACCEPTÉE. LA SOLUTION FONCTIONNE VRAIMENT. Pourquoi ne puis-je pas le marquer comme accepté? (hausser les épaules) –

0

Si la méthode animate ne définit que l'option, elle peut fonctionner de façon imprévisible - essayez de basculer cette ligne avec la boucle elle-même, afin que l'animation s'applique en premier.

+0

léguerons un essai maintenant –

+0

Switched les lignes et encore arrête la en boucle. 'volume.animate (0, volume.get(), fadeInDuration); currentPlayback = pistes [trackIndex] .loop (volume); ' –

0

Pouvez-vous animer le volume sur une lecture non annulée, puis, à la fin de cette lecture, démarrer la boucle au niveau fixe?

+0

J'ai essayé ceci mais je n'ai pas pu obtenir un résultat satisfaisant, il y avait un peu de décalage que je ne peux pas accepter. –