У меня есть программа, которая помещает входной звук в BufferedWaveProvider
. Я хотел бы иметь возможность удалить первые x секунд буфера, чтобы удалить часть аудио в режиме реального времени, прежде чем он будет воспроизведен. Я могу полностью очистить буфер, но если мне нужно только удалить часть звука, я не могу понять, как вытащить все байты из буфера, очистить буфер и добавить некоторые байты обратно.
Я ищу способ извлечь байты или семплы из массива, чтобы я мог удалить некоторые из них и затем поместить оставшиеся байты или семплы обратно в массив.
input.StopRecording();
output.Pause();
if (curdelay - output.DesiredLatency > dumpMs)
{
//partially dump the buffer
}
else
{
//completely dump the buffer
buffer.ClearBuffer();
}
curdelay = (int)buffer.BufferedDuration.TotalMilliseconds;