从 QAudioInput 的 qbytearray 获取浮点数组
getting float array from QAudioInput's qbytearray
当从QAudioInput
读取低电平音频时,得到的数据是一个QByteArray
。设置QAudioInput
时,您可以从数据中告诉它所需的样本类型。如果在此处指定 float,这是否意味着 QByteArray
中的数据已经采用此格式?如果是,您是否只是强制转换输出数据以读取浮点数组?如果不是,如何存储它以获得预期的浮点数?
所有计算机内存都是单个字节,但您可以在这些字节中存储任何您想要的内容。不要把QByteArray
误认为是QVector<char>
,QByteArray
是Qt的"通用内存缓冲区"类。
如果记录格式是浮点数,那么只需从字节数组中读取浮点数,无需转换,实际上它会给你比你拥有的更多的样本,因为浮点数比一个字节大,你会得到垃圾。
您可以直接访问data
指针的字节数组并从中读取size() / sizeof(float)
浮点数。
相关文章:
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 使用指针从C++中的数组中获取最大值
- 获取字符串的长度并将其分配给数组
- 数组长度,为什么从命令行获取时不能使用它?
- 如何在 nlohmann 的 json 库中获取数组长度?
- 在c++中获取两个大int,并将它们存储在数组中
- 如何在C++中获取二维数组中最少的一列数?
- 从 numpy 数组获取指针以将图像发送到C++
- 指针数组.获取指针元素的值
- 循环以使用 cstring 数组 c++ 获取用户输入
- 一种从元组/数组获取参数包的方法
- 如何使用数组获取输入,并将其存储在record.h类的主类中的变量中
- 如何使用数组获取命令行参数
- 从 JSON 数组获取天气
- 布尔数组获取意外的默认值
- 填充列表<>使用数组获取错误的数字
- 如何在C++中为矢量数据结构中的二维数组获取用户输入,而不使用行和列上的两个for循环
- 在自定义库中操作2d C++数组-获取行数
- 使用数组获取测试结果
- 数组c++获取值