0

基本上是当我使用基本播放声音时标题所说的

mySound= new Sound(); 
c = new SoundChannel();
c = mySound.play();

这是一个被设置为 mp3 进行测试的类。我确实让它产生声音,但将其设置为 mp3 以测试音高问题。当相同的声音仍在播放时,它被调用的次数越多,它似乎也变得越来越响亮。我以为这是不同渠道的重点?有没有同样的方法可以用混音器或其他东西来解决这个问题?谢谢

请不要仅仅因为您不明白我在问什么而投反对票,因为我最近经常看到这种情况发生。

4

1 回答 1

0

mySound.play() 正在返回一个新的 SoundChanel。

c = new SoundChannel();
c = mySound.play();

您在这里所做的是将一个新的 SoundChanel 分配给 c,之后,您将它分配给另一个新的 SoundChanel。

并且为 c 分配一个新的 SoundChanel 不会使前一个消失。它仍然存在(因此播放),但 c 不再引用它。

尝试这个:

if(c!=null) // if c has previously be assigned a soundchanel (that might be playing), stop it
 c.stop();

c = mySound.play(); // assign new SoundChanel to c and play it
于 2013-07-27T06:49:29.153 回答