CSCore — воспроизведение аудио из MemoryStreamC#

Место общения программистов C#
Ответить
Anonymous
 CSCore — воспроизведение аудио из MemoryStream

Сообщение Anonymous »

Я новичок в CsCore. Нужна помощь. Я хочу создать аудиорекордер, который сможет записывать микрофон и динамики в файл и на внешнее записывающее устройство. Я успешно завершил запись в файл. Теперь я хочу еще раз то же самое, но играть на определенном аудиоустройстве. Я подумал о том, чтобы подключиться к потоку и использовать этот поток в качестве источника для WasapiOut. Однако мне не удалось подключить этот поток к IWaveSource.

Код: Выделить всё

private Stream _strm;
private WaveWriter _waveWriterFile;
private WaveWriter _wavewriterStream;
private WasapiOut _externalRecorder;

_strm = new MemoryStream();
_wavewriterStream = new WaveWriter(_strm, _SpkCapture.WaveFormat);
IWaveSource ws = new WaveFileReader(_strm);
_externalRecorder.Initialize(ws);
_externalRecorder.Play();

// on Event I do following:
_waveWriterFile.Write(e.Data, e.Offset, e.ByteCount);
_wavewriterStream.Write(e.Data, e.Offset, e.ByteCount);
Все работает нормально, пока я не вызываю «new WaveFileReader(_strm);». Я получаю исключение (переведенное мной) «невозможно прочитать за пределами конца потока». Поток содержит данные на данный момент времени. Прежде чем пытаться получить поток, подождите 100 мс. Я тоже пробовал

Код: Выделить всё

IWaveSource ws = new CSCore.MediaFoundation.MediaFoundationDecoder(strm);
Но не повезло. Мне действительно нужна помощь.

Подробнее здесь: https://stackoverflow.com/questions/434 ... morystream
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»