Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何获得录制声音的不同振幅?_C++_Qt_File_Audio_Amplitude - Fatal编程技术网

C++ 如何获得录制声音的不同振幅?

C++ 如何获得录制声音的不同振幅?,c++,qt,file,audio,amplitude,C++,Qt,File,Audio,Amplitude,单用途 我的目的是在播放录制的声音时显示不同的振幅,因此,我必须在播放录制的声音文件时获得振幅 2-我做了什么 我使用了QT函数QAudioInput和QFile来录制 我已将声音保存为wav、raw或pcm声音 三个问题 这是否可以获得录制声音的振幅?怎样才能做到呢 谢谢,播放时显示录制声音的不同振幅-因此,如果振幅为20%,您希望在播放时显示不同的振幅-比如90%。。。?骗他们把扩音器调大,这样下一首歌就能把他们炸了?更严重的是,wav/raw/pcm存储未压缩的数据-您只需对样本进行迭代,

单用途


我的目的是在播放录制的声音时显示不同的振幅,因此,我必须在播放录制的声音文件时获得振幅

2-我做了什么

我使用了QT函数QAudioInput和QFile来录制

我已将声音保存为wav、raw或pcm声音

三个问题

这是否可以获得录制声音的振幅?怎样才能做到呢


谢谢,

播放时显示录制声音的不同振幅-因此,如果振幅为20%,您希望在播放时显示不同的振幅-比如90%。。。?骗他们把扩音器调大,这样下一首歌就能把他们炸了?更严重的是,wav/raw/pcm存储未压缩的数据-您只需对样本进行迭代,并获取最大值或平均值或任何适合您需要的值。@Tony感谢您的回复,但我如何对样本进行迭代?如果您直接流式传输到磁盘,您可以使用例如char buffer[8192]从那里读取;如果std::ifstream ffilename{size\u t bytes=f.readbuffer,则为缓冲区的大小;uint16\u t*p=uint16\u t*buffer;…}。有关选择端点、位深度的示例,请参见。或者,如上面的示例所示,读入缓冲区