从QAudioInput
读取低级音频时,结果数据为QByteArray
。设置QAudioInput
时,您可以从数据中获取所需的样本类型。如果你在那里指定float,那是否意味着QByteArray
中的数据已经采用这种格式?如果是,您是否只是将输出数据转换为读取float数组?如果不是如何存储以获得预期的浮动?
答案 0 :(得分:0)
所有计算机内存都是单独的字节,但您可以根据需要存储这些字节。不要将QByteArray
误认为QVector<char>
,QByteArray
是Qt&#34;通用内存缓冲区&#34;类。
如果记录格式是浮点数,那么只需从字节数组中读取浮点数,不需要转换,实际上它会提供比浮点数大于一个字节更多的样本,并且你会得到垃圾。
您可以直接访问字节数组data
指针并从中读取size() / sizeof(float)
个浮点数。