FFmpeg教程-二-代码实现录音

目录

一,实现步骤

二,具体实现

1,注册设备

2,获取输入格式对象

3,打开设备

4,采集数据


一,实现步骤

二,具体实现

1,注册设备

cpp 复制代码
// 初始化libavdevice并注册所有输入和输出设备
avdevice_register_all();

2,获取输入格式对象

cpp 复制代码
//获取输入格式对象
const char *fmtName = "dshow";  //设备名,根据自己的来
const AVInputFormat *fmt = av_find_input_format(fmtName);

3,打开设备

cpp 复制代码
AVFormatContext *ctx = NULL;//格式上下文
const char *deviceName = "audio=阵列麦克风 (AMD Audio Device)"; //自己的输入设备名
int ret = avformat_open_input(&ctx,deviceName,fmt,nullptr);  //打开
   if(ret<0)
   {
       char errbuf[1024];
       av_strerror(ret,errbuf,sizeof (errbuf));
       qDebug()<<"打开设备失败";
       return ;
   }else{
       qDebug()<<"打开成功";
   }

4,采集数据

cpp 复制代码
   AVPacket pkt;//数据包
   av_read_frame(ctx,&pkt);
   file.write((const char *)pkt.data,pkt.size);  //写入。 (请自己创建文件对象file)
   file.close();

5,释放资源

cpp 复制代码
   avformat_close_input(&ctx);   //关闭设备
相关推荐
Little_Code1 小时前
uniapp 使用ffmpeg播放rtsp
ffmpeg·uni-app·rtsp
CJ点10 天前
FFmpeg命令全解析:三步完成视频合并、精准裁剪、英伟达显卡加速
ffmpeg·显卡·合并·amd·英伟达·裁剪
十年编程老舅11 天前
音视频流媒体高级开发-学习路线
ffmpeg·音视频·音视频开发·音视频编解码·c++音视频·流媒体服务器·音视频学习路线
卖猪肉的痴汉11 天前
4.1 FFmpeg编译选项配置
ffmpeg
卖猪肉的痴汉12 天前
3.1 Android NDK交叉编译FFmpeg
android·ffmpeg
却道天凉_好个秋12 天前
ffmpeg(七):直播相关命令
ffmpeg
卖猪肉的痴汉12 天前
5.2 Qt Creator 使用FFmpeg库
开发语言·qt·ffmpeg
aqi0012 天前
FFmpeg开发笔记(六十八)Windows给FFmpeg集成AV1解码器libdav1d
ffmpeg·音视频·直播·流媒体
卖猪肉的痴汉12 天前
5.3 VSCode使用FFmpeg库
ide·vscode·ffmpeg