【发布时间】:2020-09-26 19:16:07
【问题描述】:
我有一个 Longs 数组(在 10k 或可能 100k 长的范围内),我必须将它们作为 8 位 little-endians 放入 HEX 文件 (.wav) 中。做这个的最好方式是什么?
我使用了一个简单的 PUT,但它没有按计划进行。我尝试了一些应该产生的测试值
DE A8 抄送 16 00 00 1E 5B
我得到了代替
DE A8 FF FF CC 16 00 00 00 00 00 00 1E 5B 00 00
我使用的代码如下。你知道发生了什么以及如何解决这个问题吗?在我尝试的每个值中,记录之间总是有一个额外的 00 00 或 FF FF。
Sub Gera_sinal()
Dim sinal() As Long
ReDim sinal(3)
'Test values
sinal(0) = -22306
sinal(1) = 5836
sinal(2) = 0
sinal(3) = 23326
'Creates a file and puts the values in it
Dim n_arq As Integer
Dim path As String
path = "C:\Users\DELL\Desktop\App\WAVs\Sinal_VBA.wav"
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile(path, True)
a.Close
n_arq = FreeFile
Open path For Binary As n_arq
Put n_arq, , sinal
Close n_arq
End sub
【问题讨论】: