【发布时间】:2016-01-08 18:54:31
【问题描述】:
我正在实现这个音调发生器程序,效果很好:
我想不通的是为什么下面两行代码:
BW.Write(Sample)
BW.Write(Sample)
一个“写”是有道理的,但为什么第二个“写”呢?
【问题讨论】:
-
你可以自己回答这个问题:注释掉其中一个并运行它,看看结果如何
-
我试过了,结果很奇怪。如果我注释掉第一个,SP.Play() 命令会出错。如果我注释掉第二个,我会得到音调,但要高一个八度。无法解释这些结果...
-
第二次写入可能只是在刷新第一次写入
-
在这两条语句之后实际上有一个 Flush 命令,用于清除 BinaryWriter (BW) 并将数据推送到 MemoryStream (MS) 中。但是,我想这可能是……我认为可能有更具体的目的。
-
它可能是一个立体声流,两个写入只是将相同的样本发送到两个通道 - 交错。
标签: vb.net audio memorystream binarywriter tone-generator