课程名称:音视频基础+ffmpeg原理 入门音视频技术开发
课程章节:【实战】音频采集
课程讲师:李超
课程内容
录制音频文件的操作步骤
录制音频文件要经历以下三个步骤:
1.创建文件
FILE *fopen(char *filename, *type);
fopen()函数中第一个形式参数表示文件名, 可以包含路径和文件名两部分,第二个形式参数表示打开文件的类型。文件类型包括以下内容。
"r" 打开文字文件只读
"w" 创建文字文件只写
"a" 增补, 如果文件不存在则创建一个
"r+" 打开一个文字文件读/写
"w+" 创建一个文字文件读/写
"a+" 打开或创建一个文件增补
"b" 二进制文件(可以和上面每一项合用)
"t" 文这文件(默认项)
2.将音频数据写入到文件中
int fwrite(void *buf, int size, int count, FILE *stream);
fwrite()函数是把buf指针所指的缓冲器中, 长度为size个字节的count个字段写到stream指向的文件中去。
操作系统的机制,出于对效率的考虑,fwrite()函数不会立刻将数据写入,而是将数据放到操作系统的缓冲区,等到缓冲的数据达到一定的量,才将数据数据写入,使用flush()函数可以将数据立刻写入文件,但是会对程序的执行效率有所影响。
3.关闭文件
int fclose(FILE *stream);
fclose()函数用来关闭一个由fopen()函数打开的文件。该函数返回一个整型数。当文件关闭成功时, 返回0, 否则返回一个非零值。
使用ffplay播放音频文件命令
命令格式: ffplay -ar 采样率 -ac 通道数 -f 采样大小 文件名称
ffplay -ar 44100 -ac 2 -f f32le audio.pcm