forked from MoonsideGames/MoonWorks
26 lines
540 B
C#
26 lines
540 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) : base(device, formatTag, bitsPerSample, blockAlign, channels, samplesPerSecond)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
public abstract void Seek(uint sampleFrame);
|
||
|
|
||
|
protected override void OnReachedEnd()
|
||
|
{
|
||
|
if (Loop)
|
||
|
{
|
||
|
Seek(0);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
Stop();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|