在C语言中获取录音长度通常涉及到音频处理库,如PortAudio、SDL_mixer或者libav等。以下是一个使用PortAudio库来获取录音长度的基本示例。
你需要安装PortAudio库。在大多数Unix-like系统中,你可以使用包管理器安装它。例如,在Ubuntu上,你可以使用以下命令:
```sh
sudo apt-get install portaudio19-dev
```
然后,你可以使用以下代码来获取录音的长度:
```c
include
include
define SAMPLE_RATE 44100 // 采样率
define FRAMES_PER_BUFFER 1024 // 每个缓冲区的帧数
int recordCallback(const void inputBuffer, void outputBuffer,
unsigned long framesPerBuffer,
const PaStreamCallbackTimeInfo timeInfo,
PaStreamCallbackFlags statusFlags,
void userData) {
// 这里可以处理输入数据,但我们只是记录它
int input = (int )inputBuffer;
for (unsigned int i = 0; i < framesPerBuffer; i++) {
// 这里我们只是简单地返回0,表示没有数据
input++ = 0;