Pergunta

Eu tenho experimentado Pulpcore, tentando criar meu próprio jogo de defesa da torre (ainda não jogável), e estou gostando muito de ter um problema que não consigo entender. Estendi a Pulpcore com a coisa de Jorbis para permitir que os arquivos OGG fossem reproduzidos. Funciona bem. No entanto, o Pulpcore parece ter um problema com o som do som enquanto anima o nível de volume. Também tentei isso com o arquivo wav, para garantir que não seja Jorbis que o quebre. O código é assim:

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);

Este código, enquanto a última linha for comentada, tocará a música.ogg repetidamente em um loop sem fim (que eu posso parar chamando de parada no objeto de reprodução retornado de loop (). No entanto, gostaria do Música para desaparecer suavemente, então, seguindo os conselhos dos documentos da API Pulpcore, adicionei a última linha que criará o desbotamento, mas a música só tocará uma vez e depois para. Eu me pergunto por que isso? Aqui está um pouco de a documentação:

Playback pulpcore.sound.sound.loop (nível fixo)

Loops esse clipe de som com o nível de volume especificado (0,0 a 1,0). O nível pode ter uma animação de propriedade anexada.

Parâmetros: nível

Retornos: um objeto de reprodução para esta reprodução de som exclusiva (um som pode ter muitos objetos de reprodução simultâneos) ou nulo se o som não puder ser reproduzido.

Então qual poderia ser o problema? Repito, com a última linha, o som desaparece, mas não faz um loop, sem ela, mas começa com o nível de volume de 0,75 especificado. Por que não consigo animar o volume da reprodução de música em loop? O que estou fazendo errado? Alguém tem alguma experiência com o Pulpcore e encontrou esse problema? Alguém poderia fazer o download do Pulpcore e tentar fazer loop de música que desaparece (fora)?

Nota: Preciso manter uma referência ao objeto de reprodução retornado para que eu possa matar música mais tarde.

Foi útil?

Solução 3

Finalmente, consegui obter uma explicação e um simples trabalho para esta edição do autor do núcleo de celulose. Então aqui está:

É um bug de pulpcore. Quando o volume de saída é zero, o som do som para de loop.

Para contornar isso, anime a partir de um valor que não seja zero, assim:

musicVolume.animate(0.0001, 1, FADE_IN_TIME); 

Link para isso no Pulpcore Google Grupos

Outras dicas

Se o animate O método define apenas a opção, ele pode funcionar imprevisivelmente - tente alternar essa linha com o loop em si, para que a animação se aplique primeiro.

Você pode animar o volume em uma reprodução desloopada e, no final dessa reprodução, iniciar o loop no nível fixo?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top