我正在使用DirectSound
框架和SecondaryBuffer
对象。我将SecondaryBuffer
对象包装在另一个类中,因为我有一些其他值要与我的SecondaryBuffer
.
播放声音后,我想处理SecondaryBuffer
,但是,检查它是否完成播放的唯一方法是检查它的状态。
我想创建一个当我的状态是正确值event
时可以调用的。SecondaryBuffer
这是包含我的包装类的片段。
public class WrappedBuffer
{
public SecondaryBuffer Buffer { get; set; }
//other variables here
public WrappedBuffer(SecondaryBuffer buffer, ... and more)
{
this.Buffer = buffer;
}
}
没有事件,我必须使用 aTimer
并检查这样的状态;
if (!Buffer.Status.Playing)
{
Buffer.Dispose();
}
无论如何,我可以events
用来调用 SecondaryBuffer 对象的 Dispose() 方法,而无需使用Timer
.