【问题标题】:getting float array from QAudioInput's qbytearray从 QAudioInput 的 qbytearray 获取浮点数组
【发布时间】:2015-01-11 03:37:48
【问题描述】:

QAudioInput 读取低电平音频时,结果数据为QByteArray。在设置QAudioInput 时,您可以从数据中告诉它您想要的样本类型。如果你在那里指定浮点数,这是否意味着QByteArray 中的数据已经是这种格式?如果是,您是否只是将输出数据转换为读取浮点数组?如果不是如何存储以获取预期的浮点数?

【问题讨论】:

    标签: c++ qt audio-processing qbytearray qtmultimedia


    【解决方案1】:

    所有计算机内存都是单独的字节,但您可以在这些字节中存储任何您想要的内容。不要将QByteArray 误认为QVector<char>QByteArray 是Qt 的“通用内存缓冲区”类。

    如果记录格式是浮点数,那么只需从字节数组中读取浮点数,无需转换,事实上它会给你比你更多的样本,因为浮点数大于一个字节,你会得到垃圾。

    您可以直接访问字节数组data指针并从中读取size() / sizeof(float)浮点数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      • 1970-01-01
      • 2020-12-19
      • 1970-01-01
      • 2016-08-19
      • 2015-12-16
      相关资源
      最近更新 更多