Separate out PlayerSource (nw)

This commit is contained in:
Matt Nadareski
2021-06-06 21:41:24 -07:00
parent b30107a9c5
commit 3e770677ab

View File

@@ -0,0 +1,44 @@
using System;
using CSCore;
using WaveFormat = CSCore.WaveFormat;
namespace RedBookPlayer
{
public class PlayerSource : IWaveSource
{
public delegate int ReadFunction(byte[] buffer, int offset, int count);
readonly ReadFunction _read;
public bool Run = true;
public PlayerSource(ReadFunction read) => _read = read;
public WaveFormat WaveFormat => new WaveFormat();
bool IAudioSource.CanSeek => throw new NotImplementedException();
public long Position
{
get => throw new NotImplementedException();
set => throw new NotImplementedException();
}
public long Length => throw new NotImplementedException();
public int Read(byte[] buffer, int offset, int count)
{
if(Run)
return _read(buffer, offset, count);
Array.Clear(buffer, offset, count);
return count;
}
public void Dispose() {}
public void Start() => Run = true;
public void Stop() => Run = false;
}
}