簡體   English   中英

NAudio - 如何記錄揚聲器的初始靜音

[英]NAudio - How to record the initial silence of the speaker

我正在嘗試使用 WasapiLoopbackCapture class 將揚聲器錄制在 WAV 文件中。 我注意到,如果揚聲器最初是靜音的,WAV 文件會在揚聲器發出第一個聲音時開始錄制,例如在錄制開始后 5 或 10 秒后。

有沒有辦法在 WAV 文件中記錄初始靜音?

這是我寫的代碼:

WasapiLoopbackCapture _speakerWave;
protected WaveFileWriter _speakerWriter;

_speakerWave = new WasapiLoopbackCapture();

_speakerWave.DataAvailable += (s, a) =>
{
    _speakerWriter.Write(a.Buffer, 0, a.BytesRecorded);
};

_speakerWriter = new WaveFileWriter("test.wav", _speakerWave.WaveFormat);
_speakerWave.StartRecording();

謝謝

來自 NAudio WasapiLoopbackCapture 文檔

現在有一個使用 WasapiLoopbackCapture 的問題。 如果沒有任何音頻正在播放,則不會觸發 DataAvailable 事件。 因此,如果您想錄制“靜音”,一個簡單的技巧是簡單地使用 NAudio 播放設備在錄制期間通過該設備播放靜音。 或者,您可以在檢測到傳入音頻中的間隙時自己插入靜音。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM