gpt4 book ai didi

vb.net - 将音频加倍转换为字节

转载 作者:行者123 更新时间:2023-12-02 23:45:00 24 4
gpt4 key购买 nike

我正在处理原始PCM音频数据(不带标题的PCM文件的音频数据)。

这些数据以double vector 的形式提供给我。

我想将此数据传递给另一个函数,并且该函数期望音频数据采用字节 vector 的形式。

我试过了

    Dim nBytes() As Byte = nDoubles.SelectMany(Function(d) BitConverter.GetBytes(d)).ToArray()

但这不会带来预期的结果。

我想我必须手动处理转换,但是我不确定该如何完成。

有人可以帮忙吗?

谢谢。

最佳答案

由于其他功能所需的格式是16位,48 kHz,与您的源数据相同,因此这是将源转换为Short数组,然后将其序列化为Byte数组的简单情况。

您为此建议的代码存在的问题是,错过了第一步,因此基本上可以序列化Double数组。但是,您可以将其重新用于第二步。因此,您可以执行以下操作:

    Dim nShorts() As Short = New Short(nDoubles.Length - 1) {}

For i = 0 To nDoubles.Length - 1
nShorts(i) = Convert.ToInt16(nDoubles(i))
Next

Dim nBytes() As Byte = nShorts.SelectMany(Function(s) BitConverter.GetBytes(s)).ToArray()

关于vb.net - 将音频加倍转换为字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32788529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com