gpt4 book ai didi

c++ - 从字节数组中获取音频样本

转载 作者:行者123 更新时间:2023-11-30 04:32:47 25 4
gpt4 key购买 nike

如何从QAudioInput获取数据样本

我在这个示例代码中找到了 audioinput 示例代码

    void InputTest::readMore()
{
if(!m_audioInput)
return;
qint64 len = m_audioInput->bytesReady();
if(len > 4096)
len = 4096;
qint64 l = m_input->read(m_buffer.data(), len);
if(l > 0) {
m_audioInfo->write(m_buffer.constData(), l);
}
}

我了解到 m_buffer 包含音频数据样本

但是我的音频处理库收到了简短的样本我如何将其转换为短指针

我的音频库功能是这样的

putSample( short *Sample, int numberOfSample)

我可以从中获取样本数量

Q_ASSERT(m_format.sampleSize() % 8 == 0);
const int channelBytes = m_format.sampleSize() / 8;
const int sampleBytes = m_format.channels() * channelBytes;
Q_ASSERT(len % sampleBytes == 0);
const int numSamples = len / sampleBytes;

最佳答案

This page表示 read() 需要一个 char* 来存储数据。如果您正确设置了音频设备的格式,数据确实会被“分段”为 char 数组中的短裤,您可以简单地将 char* 转换为在将其传递给您的图书馆之前的一小段*。

关于c++ - 从字节数组中获取音频样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7383683/

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