2010-03-26 161 views
0

我一直在尝试PulpCore,努力营造my own tower defence game(不可玩还),并且我很享受它很我遇到了,我不能完全弄清楚的一个问题。我用JOrbis扩展了PulpCore以允许播放OGG文件。工作正常。但是,在制作音量级别的动画时,pulpCore似乎在循环播放声音方面存在问题。我也尝试过使用wav文件,以确保它不是破坏它的jOrbis。该代码是这样的:PulpCore音乐播放 - 循环用声音和动画音量

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

此代码,只要最后一行被注释掉,一遍又一遍播放music.ogg无限循环(我可以在播放呼叫站停车从循环()返回的对象,但是我希望音乐顺利地淡入淡出,所以按照PulpCore API文档的建议,我添加了最后一行,它将创建淡入,但音乐只播放一次,然后停止我不知道这是为什么这里是有点的文件:?

播放 pulpcore.sound.Sound.loop(固定级)

使用 指定的音量级别(0.0到1.0)循环播放此声音片段。 该级别可能会附上动画 动画。

参数:level

返回:对象播放此 独特的声音回放(一个声音可以 有很多同时播放 对象)或为空,如果声音可以 无法播放。

那么可能是什么问题呢?我再说一遍,用最后一行,声音淡入但不循环,没有它循环但是从指定的0.75音量开始。 为什么我不能播放循环音乐播放的音量?我究竟做错了什么?任何人都有使用pulpCore的经验,并遇到过这个问题?任何人都可以下载PulpCore并尝试循环播放(淡出)音乐?

注:我需要保持到回放对象的引用返回的,所以我可以在以后杀音乐。

回答

0

最后,我设法从纸浆核心作者那里得到了一个关于这个问题的解释和简单的解决方法。所以这里是:

这是一个PulpCore错误。当输出 音量为零时,声音播放器停止 循环播放声音。

要解决它,从 值不为零动画,就像这样:

musicVolume.animate(0.0001, 1, FADE_IN_TIME); 

Link to this on pulpcore Google groups

+0

这是我接受的答案。解决方案真的很有效。为什么我不能将其标记为已接受? (耸肩) – 2010-04-29 20:42:21

0

如果animate方法只设置选项,它可以不可预测地工作 - 尝试切换此循环本身,所以动画首先应用。

+0

将这个试用一下现在 – 2010-04-28 10:41:28

+0

交换的线条和它仍然停止循环。 (0,volume.get(),fadeInDuration); currentPlayback = tracks [trackIndex] .loop(volume);' – 2010-04-28 10:44:44

0

你可以动画上unlooped播放音量,然后在该播放结束,开始在固定水平的循环?

+0

我试过这个,但是不能得到满意的结果,有一点我是不能接受的。 – 2010-04-28 10:35:26