gpt4 book ai didi

C# XNA : stopping and playing Cue (sound) objects

转载 作者:行者123 更新时间:2023-11-30 12:36:59 25 4
gpt4 key购买 nike

我正在尝试停止 Cue,然后再次播放。此代码在 Update() 循环中:

Cue torpedoSound = soundBank.GetCue("torpedo");
torpedoSound.Stop(AudioStopOptions.AsAuthored);
torpedoSound.Play(); // Invalid Operation Exception

但是,我总是在上述位置得到一个 InvalidOperationException。文档说,如果在 isPlaying 为 true 的 Cue 上调用 Play(),就会发生这种情况。但是,如果我之前立即调用 Stop(),怎么会这样呢?

这很好用:

soundBank.PlayCue("torpedo");

在那之后立即调用 Stop() 允许声音播放,这让我感到惊讶:

soundBank.PlayCue("torpedo");
torpedoSound.Stop(AudioStopOptions.Immediate);

这不应该让它永远不会被用户听到吗?

此外,当声音已经在播放时,调用 Stop() 无法停止它。

我是 C#/XNA 新手。

最佳答案

一旦 Cue 停止,就无法再使用。您必须从音频引擎获取一个新的 Cue 实例。

引用这个例子: http://msdn.microsoft.com/en-us/library/dd940205.aspx

关于停止,当您调用 Stop 时,Cue 不会立即停止。如果定义了结束过渡,它可能需要一两帧,甚至更多。

关于C# XNA : stopping and playing Cue (sound) objects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2197163/

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