- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试录制 3-4 个音频流并将它们写入单独的 wav 文件。我正在使用 NAudio 的 asioOut 来捕获音频。起初我只是写一个 3 或 4 channel 的 wav 文件。所以我在这里搜索问题并认为我创建了一个 answer ,但我还是想不通。现在我可以编写单独的 wav 文件,但每个文件中有多个 channel 。
channel_1.wav --------> 有 channel 1 和 2
channel_2.wav --------> 有 channel 1 和 3
channel_3.wav --------> 有 channel 2 和 3
我认为在尝试解析 GetAsInterleavedSamples() 时出现问题。
这是我的 asioOut_AudioAvailable()
void asioOut_AudioAvailable(object sender, AsioAudioAvailableEventArgs e)
{
float[] samples = new float[2 * 44100 * GetUserSpecifiedChannelCount()];
samples = e.GetAsInterleavedSamples();
int offset = 0;
while (offset < samples.Length)
{
for (int n = 0; n < this.writers.Length; n++)
{
this.writers[n].WriteSamples(samples, offset, 2);
offset += 2;
}
}
}
我是新手,所以我只是边学边学,非常感谢任何帮助。
谢谢。
最佳答案
如果我没理解错的话,你只想给每个 writer 写一个样本,所以 WriteSamples
的第三个参数应该是 1,offset 应该加 1。你可能已经复制了来自处理字节数组中的 16 位音频的示例的 +=2。
关于c# - 从 NAudio asioOut 写入多个 wav 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14077743/
我是音频编程和套接字编程的新手。我正在尝试使用 NAudio AsioOut 类和套接字通过网络发送吉他信号。 这是接收方和发送方的源代码。 看起来接收者真的从发送者那里得到了字节数组,但我听到的只是
我正在尝试录制 3-4 个音频流并将它们写入单独的 wav 文件。我正在使用 NAudio 的 asioOut 来捕获音频。起初我只是写一个 3 或 4 channel 的 wav 文件。所以我在这里
我是一名优秀的程序员,十分优秀!