从字节数组中获取音频样本
Get audio samples from byte array
如何从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;
这个页面表明read()期望一个char*来存储数据。如果你已经正确设置了音频设备的格式,数据确实会在char数组中被分割为short,你可以简单地将char*转换为short*,然后将其传递给你的库。
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 使用指针从C++中的数组中获取最大值
- 如何获取std::result_of函数的返回类型
- 如何在openssl-ecc中获取十六进制格式的私钥
- 使用Unreal C++获取VR耳机的世界位置/方向
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 用c++阅读音频
- 让 iaxClient 将音频发送到缓冲区而不是音频设备/从缓冲区获取音频
- 适用于 macOS 的 Xcode 应用程序。这就是我设置从USB麦克风输入获取音频的方式。一年前工作,现在没有了。为什么
- 超级强大的Android NDK:获取positionPercent以更新音频进度seekbar
- 如何在不使用QMediaPlayer的情况下获取Qt中音频和视频文件的持续时间
- 获取音频剪辑持续时间.ogg
- 获取音频输出设备的 GUID
- 如何获取 mp3 音频数据包以在 C/C++ 中流式传输
- Windows音频端点API.正在获取我的音频设备的名称
- 微软核心音频API:从默认端点获取WAVEFORMATEX信息
- FreeSWITCH:有没有办法通过本机API从其他分支获取音频流?
- 从字节数组中获取音频样本