У меня есть некоторые AudioSink
, которые назначены некоторым CaptureSource
.
CaptureSource captureSource = new CaptureSource() {
VideoCaptureDevice = null,
AudioCaptureDevice = CaptureDeviceConfiguration.GetDefaultAudioCaptureDevice()
};
SampleAudioSink audioSink = new SampleAudioSink() {
CaptureSource = captureSource
};
captureSource.Start();
Реализация AudioSink
просто регистрирует вызванную функцию, чтобы убедиться, что она работает правильно. Однако метод OnSamples
перестает вызываться после 37 выборок.
- OnCaptureStarted
- OnFormatChange
- OnSamples (1)
- OnSamples (2)
- OnSamples (3)
- [...]
- OnSamples (35)
- OnSamples (36)
- OnSamples (37)
OnCaptureStopped
никогда не вызывается; CaptureSource
должен постоянно вызывать эту функцию. CaptureSource
также не вызывает событие CaptureFailed
.
Что может вызвать это странное поведение и какие попытки я могу предпринять, чтобы исправить это?
Я загрузил полный исходный код, который вызывает проблему в Pastebin