一.ffmpeg打开麦克风,录制音频并重采样

一.windows

windows下使用msys编译ffmpeg,先编译libx264和libx265,然后编译ffmpeg的时候需要添加这两个库的路径才能--enable;为什么ffplay--enable了还是没有呢,仔细看编译打印,可能刚有一段报错提示SDL找不到,这个时候咱们就直接使用msys安装SDL,然后--enable启动sdl,这样ffplay就可以编译成功了。参考这个博主:

FFmpeg在 Windows 环境编译(64位)支持h264,h265,和Intel QSV,Nvidia Cuda,AMD amf 硬件加速_ffmpeg x64-CSDN博客

注意:

此时ffmpeg的libfdk_aac、opus等编码器还没下载,需要使用msys下载

 pacman -S mingw-w64-x86_64-fdk-aacpacman -S mingw-w64-x86_64-lamepacman -S mingw-w64-x86_64-opus

#windows中我这里使用cmakelists进行编译,使用的工具是msys+make(随便一搜就有如何下载)
#build下构建指令
cmake .. -G "Unix Makefiles"
make

ffmpeg的源码是c风格的,添加头文件需要使用extern “C”{}括起来 

打开麦克风

#查看自己系统的音频设备信息
ffmpeg -list_devices true -f dshow -i dummy
#录制音频(windows)
ffmpeg -f dshow -i audio="virtual-audio-capturer" out1.wav
#linux
ffmpeg -f alsa-i audio="virtual-audio-capturer" out1.wav

录制音频

#采样率44100 双声道 s16le表示位深度为16位,
#意味着每个样本大小使用16位(8位一个字节,2个字节)来表示值
ffmpeg -f dshow -i default -ac 2 -ar 44100 -c:a s16le output.wav  

重采样

在重采样之前,我们先获取自己的音频设备采样参数:

//获取音频设备列表
ffmpeg -list_devices true -f dshow -i dummy
//获取音频采样参数
ffmpeg -f dshow -i audio="xxxxx"

也可以先用ffmpeg在本地录制一段音频,然后使用ffplay播放就可以看到了。

#使用ffplay播放pcm
ffplay -f s16le -ar 44100 -ac 2 out.pcm

注意:需要戴耳机否则没麦声音特别小。

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

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

相关文章

go 安装swagger

1、依赖安装: # 安装 swag 命令行工具 go install github.com/swaggo/swag/cmd/swaglatest# 安装 gin-swagger 和 swagger 文件的依赖 go get -u github.com/swaggo/gin-swagger go get -u github.com/swaggo/files 2、测试 cmd中输入: swag -v 如果…

网络安全反渗透 网络安全攻防渗透

网络渗透防范主要从两个方面来进行防范,一方面是从思想意识上进行防范,另一方面就是从技术方面来进行防范。 1.从思想意识上防范渗透 网络攻击与网络安全防御是正反两个方面,纵观容易出现网络安全事故或者事件的公司和个人,在这些…

java泛型通配符?及上下界(extends,super)保证安全性、灵活性、可读性

在 Java 中,泛型通配符(?)用于表示未知类型,通常用于增强泛型的灵活性。通配符可以与上下限结合使用,以限制泛型的范围。以下是通配符及上下限的使用示例: 1. 无界通配符 (?) 无界通配符表示可以接受任意…

技术视界|构建理想仿真平台,加速机器人智能化落地

在近期的 OpenLoong 线下技术分享会 上,松应科技联合创始人张小波进行了精彩的演讲,深入探讨了仿真技术在机器人智能化发展中的关键作用。他结合行业趋势,剖析了现有仿真平台的挑战,并描绘了未来理想仿真系统的设计理念与实现路径…

uniapp-x 之useAttrs只读

数据类型: useAttrs在web端拿到的是obj,app拿到的是map 是否可以修改内部元素: 否,只读 这意味着你想这样写代码将会无效 let attrsuseAttrs();console.log("attrs",attrs, attrs instanceof Map)//appif(attrs ins…

Python 正则表达式模块 re

Python 正则表达式模块 re flyfish 一、正则表达式基础 1. 什么是正则表达式? 正则表达式(Regular Expression, RE)是一种用于匹配、查找和替换文本模式的工具,由普通字符(如字母、数字)和特殊字符&…

【商城实战(33)】解锁版本迭代与更新策略

【商城实战】专栏重磅来袭!这是一份专为开发者与电商从业者打造的超详细指南。从项目基础搭建,运用 uniapp、Element Plus、SpringBoot 搭建商城框架,到用户、商品、订单等核心模块开发,再到性能优化、安全加固、多端适配&#xf…

环境配置 | 5分钟极简Git入门:从零上手版本控制

你是否刚接触Git?别担心!这篇指南将用最简单的步骤带你掌握Git核心操作,快速开启版本控制之旅!✨ 1.git在win10上的下载安装 1.1.下载git 打开官方网站 Git - Downloadshttps://git-scm.com/downloads ​ ​​ 1.2.git安装 …

计算机网络——DNS

一、什么是DNS? DNS(Domain Name System,域名系统) 是互联网的核心服务,负责将人类可读的域名(如 www.baidu.com)转换为机器可识别的 IP地址(如 14.119.104.254)。它像一…

SQLark 实战 | 如何从Excel、csv、txt等外部文件进行数据导入

数据导入导出是应用开发者在平时开发中最常用的操作之一,SQLark 里提供了方便的图形化界面来完成导入导出。本文先和大家分享如何从 Excel、csv、txt 等外部文件导入数据到数据库表中。 👉 前往 SQLark 官网:www.sqlark.com 下载全功能免费版…

docker无法正常拉取镜像问题的解决

目录 1.前言 2.解决方案 1.前言 安装docker后拉取镜像,遇见了如下问题: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded whil…

k8s系统学习路径

学习 Kubernetes(K8s)需要循序渐进,结合理论知识和实践操作。以下是学习 Kubernetes 的推荐步骤: 1. 先决条件 • 掌握容器基础:先学习 Docker,理解容器化概念(镜像、容器、仓库)、…

@RequestParam、@RequestBody、@PathVariable

1. RequestParam RequestParam:get请求时如果用不到它的3个属性,可以省略;其他请求如果是通过param传送数据,必须使用该注释 要点: 可用于任何类型的请求(get请求数据在请求行中, post请求数据…

麒麟系统利用pycharm生成deb文件

在麒麟系统(Kylin OS)上使用 PyCharm 进行 Python 开发并生成 .deb 可安装软件包,可以按照以下步骤进行操作: 1. 准备工作 安装 PyCharm:确保已经在麒麟系统上安装了 PyCharm,可以使用官方提供的安装包进…

微信小程序接入DeepSeek模型(火山方舟),并在视图中流式输出

引言: DeepSeek,作为一款先进的自然语言处理模型,以其强大的文本理解和生成能力著称。它能够处理复杂的文本信息,进行深度推理,并快速给出准确的回应。DeepSeek模型支持流式处理,这意味着它可以边计算边输…

钉钉(excel)能让表格中不是‘北京’的字符串自动加亮显示(方便查看)以及隔行填充严颜色是斑马色(方便查看)嘛

在钉钉在线表格中,虽然功能相对Excel有所简化,但仍然可以通过条件格式实现对特定内容的高亮显示。以下是具体步骤: 一、在钉钉在线表格中设置条件格式 1. 打开钉钉在线表格 登录钉钉,进入“钉钉在线表格”应用。 打开你需要操作…

Windows根据文件名批量在文件夹里查找文件并复制出来,用WPF实现的详细步骤

项目前言 在日常工作和生活中,我们常常会遇到需要从大量文件中根据文件名批量查找特定文件并复制到指定位置的情况。手动一个个查找和复制文件不仅效率低下,还容易出错。使用 Windows Presentation Foundation (WPF) 可以创建一个用户友好的图形界面应用…

PHP语法基础

PHP语法基础 一,变量 在PHP中,变量是存储数据的容器,其灵活性和动态类型系统是PHP的核心特性之一。以下是PHP变量的详细解析,涵盖声明、作用域、类型转换及最佳实践: 1. 变量基础 声明与命名规则 无需显式声明类型&…

Java 并发编程——BIO NIO AIO 概念

参考 Java 并发编程——BIO NIO AIO 概念 阻塞与非阻塞、同步与异步概念 系统调用、缓存、物理设备阻塞与非阻塞同步与异步 四种主要的 IO 模型 同步阻塞 IO同步非阻塞 IOIO 多路复用异步 IO select,poll,epoll 系统调用命令

探索Maas平台与阿里 QWQ 技术:AI调参的魔法世界

摘要:本文介绍了蓝耘 Maas 平台在人工智能领域的表现及其核心优势,包括强大的模型支持、高效的资源调度和友好的操作界面。文章还探讨了蓝耘 Maas 平台与阿里 QWQ 技术的融合亮点及应用拓展实例,并提供了调参实战指南,最后对蓝耘 …