41 lines
652 B
C#
41 lines
652 B
C#
namespace MoonWorks.Audio
|
|
{
|
|
public abstract class StreamingSoundSeekable : StreamingSound
|
|
{
|
|
public bool Loop { get; set; }
|
|
|
|
protected StreamingSoundSeekable(
|
|
AudioDevice device,
|
|
ushort formatTag,
|
|
ushort bitsPerSample,
|
|
ushort blockAlign,
|
|
ushort channels,
|
|
uint samplesPerSecond,
|
|
uint bufferSize,
|
|
bool autoUpdate
|
|
) : base(
|
|
device,
|
|
formatTag,
|
|
bitsPerSample,
|
|
blockAlign,
|
|
channels,
|
|
samplesPerSecond,
|
|
bufferSize,
|
|
autoUpdate
|
|
) {
|
|
|
|
}
|
|
|
|
public abstract void Seek(uint sampleFrame);
|
|
|
|
protected override void OnReachedEnd()
|
|
{
|
|
if (Loop)
|
|
{
|
|
ConsumingBuffers = true;
|
|
Seek(0);
|
|
}
|
|
}
|
|
}
|
|
}
|