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

目录

一,实现步骤

二,具体实现

1,注册设备

2,获取输入格式对象

3,打开设备

4,采集数据


一,实现步骤

二,具体实现

1,注册设备

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

2,获取输入格式对象

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

3,打开设备

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,采集数据

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

5,释放资源

   avformat_close_input(&ctx);   //关闭设备

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/36757.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

操作系统-中断和异常

中断和异常 用户态&#xff1a;普通应用程序运行在用户态&#xff0c;有很多权限限制 内核态&#xff1a;操作系统运行在内核态&#xff0c;有完全的权限访问和管理所有资源&#xff08;硬件&#xff0c;内存&#xff09; 中断的作用 把CPU从用户态变内核态 异常&#xff08…

C++ 教程 - 07 类的静态成员

文章目录 静态成员 静态成员 使用static修饰的成员&#xff1b; 静态的成员变量&#xff1b; 仅保留一份副本&#xff0c;不管创建多少个实例对象&#xff0c;都共享这一份数据&#xff1b;类、对象均可以调用&#xff1b;类外重新声明&#xff0c;并通过类初始化&#xff1b;…

C语言:哈希表

1、文章声明&#xff1a; 本文是基于链地址法建立的哈希表。文章中若存在错误&#xff0c;欢迎各路大佬指正。本文涉及二级指针&#xff0c;链表等内容。该方面的知识点&#xff0c;可以参考文章&#xff1a; 数据结构&#xff1a;单链表的相关操作-CSDN博客 C语言&#xff…

什么是软件架构的 4+1视图?如何运用?有什么优缺点?

一、41视图的起源 41视图最早由Philippe Kruchten提出。他在1995年的《IEEE Software》上发表了题为《The 41 View Model of Architecture》的论文&#xff0c;这一论文的发表引起了业界的极大关注&#xff0c;并最终被RUP&#xff08;Rational Unified Process&#xff0c;统一…

【力扣】有效的字母异位词

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 给定两个字符串 s …

详细分析SpringBootTest中的测试类(附Demo)

目录 前言1. 基本知识2. Demo3. 实战3.1 项目测试3.2 功能测试 前言 书写测试类&#xff0c;一般只需要加入Test即可&#xff0c;但是结合Springboot项目来整体测试对应需要怎么下手 详细的Java知识点推荐阅读&#xff1a;java框架 零基础从入门到精通的学习路线 附开源项目面…

负载组类型:电阻式、无功型、电阻式电抗型、电子型

发电机通常用于紧急情况。就其本质而言&#xff0c;紧急情况经常意外发生&#xff0c;这就是为什么运营和设施&#xff0c;尤其是石油和天然气行业或服务行业&#xff08;例如数据中心和医院&#xff09;的运营和设施&#xff0c;在现场配备发电机以备不时之需。永久或便携式备…

idea中使用springboot进行开发时遇到的工程结构问题汇总

idea中的工程结构和eclipse中不同&#xff0c;但是配置的内容都是一样的。 IDEA中也就是这个页面&#xff0c;快捷键ctrlaltshifts 如果在eclipse中&#xff0c;经常会遇到jre和jdk不正确的情况&#xff0c;但IDEA中这个问题很少&#xff0c;但是IDEA中会经常由于未正常配置根…

[C#]基于opencvsharp实现15关键点人体姿态估计

数据集 正确选择数据集以对结果产生适当影响也是非常必要的。在此姿势检测中&#xff0c;模型在两个不同的数据集即COCO关键点数据集和MPII人类姿势数据集上进行了预训练。 1. COCO&#xff1a;COCO关键点数据集是一个多人2D姿势估计数据集&#xff0c;其中包含从Flickr收集的…

海思SS928/SD3403开发笔记4——u盘挂载

首先一定要将u盘格式化成fat32。 挂载 mkdir /mnt/usb mount /dev/sda1 /mnt/usb成功示意图&#xff1a; 取消挂载 umount /mnt/usb

C#——命名空间详情

命名空间 在 C# 中&#xff0c;可以将命名空间看作是一个范围&#xff0c;用来标注命名空间中成员的归属&#xff0c;一个命名空间中类与另一个命名空间中同名的类互不冲突&#xff0c;但在同一个命名空间中类的名称必须是唯一的。 定义命名空间 定义命名空间需要使用 namesp…

JS在线加密简述

JS在线加密&#xff0c;是指&#xff1a;在线进行JS代码混淆加密。通过混淆、压缩、加密等手段&#xff0c;使得JS源代码难以阅读和理解。从而可以有效防止代码被盗用或抄袭&#xff0c;保护开发者的知识产权和劳动成果。常用的JS在线加密网站有&#xff1a;JShaman、JS-Obfusc…

怎么在vite项目中全局导入一个scss文件

怎么在vite项目中全局导入一个scss文件 &#x1f389;&#x1f389;&#x1f389;欢迎来到我的博客,我是一名自学了2年半前端的大一学生,熟悉的技术是JavaScript与Vue.目前正在往全栈方向前进, 如果我的博客给您带来了帮助欢迎您关注我,我将会持续不断的更新文章!!!&#x1f64…

【Redis】Java操作Redis(Jedis客户端使用)

Redis不仅支持简单的键值存储&#xff0c;还提供了丰富的数据结构&#xff08;如列表、哈希表、集合等&#xff09;和强大的原子操作&#xff0c;使得它在存储和处理数据时非常高效。关于这些数据结构的学习可以学习下面的博客&#xff1a; 【Redis】String的常用命令及图解St…

OBD诊断(ISO15031) 01服务

文章目录 功能简介PID 的功能请求和响应1、read-supported PIDs1.1、请求1.2、肯定响应 2、read PID value1.1、请求1.2、肯定响应 3、同时请求多个PID3、同时读取多个PID数据 Parameter definition报文示例1、单个PID请求和读取2、多个PID请求和读取 功能简介 01服务&#xf…

【Ubuntu24.04无显示器远控】【Todesk远程桌面黑屏】【Linux虚拟显示器】解决方案

1️⃣版本 Ubuntu 24.04Todesk 4.7.2.0xserver-xorg-video-dummy 1:0.4.0-1build1 2️⃣安装配置虚拟显示器 sudo apt install xserver-xorg-video-dummy编辑/etc/gdm3/custom.conf&#xff0c;关闭Ubuntu24.04Wayland切换为X11 WaylandEnablefalse /usr/share/X11/xorg.con…

NDT(基于正态分布变换的配准算法)

NDT是将单个扫描的离散点集转换为空间上定义的分段连续可微概率密度&#xff0c;该概率密度由一组易于计算的正态分布组成的算法。采用NDT连续化后&#xff0c;传统硬离散优化问题能够潜在地转化为更易于处理的连续优化问题。 NDT原理 NDT将根据点云中点所处的位置&#xff0…

网络治理新模式:Web3时代的社会价值重构

随着Web3技术的崛起&#xff0c;传统的网络治理模式正在经历革新&#xff0c;这不仅仅是技术的进步&#xff0c;更是对社会价值观念的挑战和重构。本文将深入探讨Web3时代的网络治理新模式&#xff0c;其背后的技术基础、社会影响以及未来的发展方向。 1. 引言 Web3时代&#…

智慧营区人员管理系统|DW-S406系统特点

1、项目背景 当前我国军队正处于加紧完成机械化和信息化建设双重历史任务的阶段&#xff0c;现阶段我国对军事通信领域强有力的支持性产业政策&#xff0c;将为行业的未来发展提供有力保障。随着经济实力的不断增长&#xff0c;以及国际、周边政治局势的日趋复杂&#xff0c;我…

# 音频处理4_傅里叶变换

1.离散傅里叶变换 对于离散时域信号 x[n]使用离散傅里叶变换&#xff08;Discrete Fourier Transform, DFT&#xff09;进行频域分析。 DFT 将离散信号 x[n] 变换为其频谱表示 X[k]&#xff0c;定义如下&#xff1a; X [ k ] ∑ n 0 N − 1 x [ n ] e − j 2 π k n N X[k]…