gpt4 book ai didi

actionscript-3 - as3停止声音删除eventListener?

转载 作者:行者123 更新时间:2023-12-02 22:57:16 26 4
gpt4 key购买 nike

我在停止声音然后重新启动时遇到问题。在我停止声音并重新启动后,eventListener 似乎消失了。

现在,“简单”修复似乎只是在您再次启动声音时“添加”另一个。
这不容易做到,因为“祈祷”声 Prop 有动态听众
在每个末尾添加一个不同的函数。所以我必须知道添加了什么监听器以及完成后应该调用什么函数。

同样,我只是想通过单击鼠标“暂停”当前祈祷的祈祷,然后再次单击在同一位置启动它。但问题是它正在删除 eventListener 以及声音播放完成后的操作说明。

关于变通的任何想法?或者也许这是一个简单的修复?

 /// EXAMPLE 1
Praying = OFE.play();
Praying.addEventListener(Event.SOUND_COMPLETE, prayDecade );

/// EXAMPLE 2
Praying = JES.play();
Praying.addEventListener(Event.SOUND_COMPLETE, doSomethingElse);

public function togglePraying(e:Event = null)
{

if(nowPraying)
{
Praying.stop();
nowPraying = ! Praying;
trace("Praying: " + currentSound);
}
else
{
Praying = currentSound.play();
nowPraying = ! Praying;
trace("Praying: " + Praying);
}
}

最佳答案

这是正常的,当你调用 OFE.play() 时,你会得到一个 SoundChannel 引用,如果你再次调用它,你会得到一个 新引用 .您需要再次注册该事件,但不要忘记删除监听器。

if(nowPraying)
{
Praying.removeEventListener(Event.SOUND_COMPLETE, doSomethingElse);
Praying.stop();
nowPraying = ! Praying;
trace("Praying: " + currentSound);
}

关于actionscript-3 - as3停止声音删除eventListener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22562133/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com