【音视频 ffmpeg 学习】麦克风数据采集,命令行播放 持续更新

ffmpeg 命令
windows 环境
查看设备

ffmpeg -list_devices true -f dshow -i dummy  

在这里插入图片描述
采集麦克风代码

	//1. init
	avdevice_register_all();
    //avformat_network_init();
    //2.获取windows采集数据所支持的格式(dshow)
    const AVInputFormat *fmt = av_find_input_format("dshow");
    int ret = 0;

    AVPacket pkt;
    //3.定义录制音屏格式上下文。
    AVFormatContext *ctx = nullptr;
    //内装麦克风 (Conexant SmartAudio HD)
    // 麦克风 (Realtek(R) Audio)
    //const char *audio_device = "audio=内装麦克风 (Conexant SmartAudio HD)";

    const char *audio_device = "audio=麦克风 (Realtek(R) Audio)";
    ret = avformat_open_input(&ctx, audio_device, fmt, nullptr);
    if(ret != 0)
    {
        qDebug() << ret << "打开设备失败";
        return;
    }
    // 4.定义一个文件用来保存所采集的音频设备
    QFile file("./test.pcm");
    file.open(QIODevice::WriteOnly);
    if(!file.isOpen()){
        qDebug() << "file open fialed";
        avformat_close_input(&ctx);
        return;
    }
    //5.采集音频数据 ffplay -ar 4100 -ac 2 -f s16le test.pcm
    while( !status_flag && !av_read_frame(ctx, &pkt)){
         file.write((const char*)pkt.data, pkt.size);
    }
    //6.释放资源
    avformat_close_input(&ctx);
    file.close();

使用命名播放

ffplay -ar 4100 -ac 2 -f s16le test.pcm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值