我正在使用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.