Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Windows平台音频采集技术介绍

Windows平台音频采集技术介绍

作者头像
lcyw
发布于 2022-06-10 11:33:45
发布于 2022-06-10 11:33:45
1.6K0
举报
文章被收录于专栏:machh的专栏machh的专栏

音频处理的相关技术:

  • 采集麦克风输入
  • 采集声卡输出
  • 将音频数据送入声卡进行播放
  • 对多路音频输入进行混音处理

Windows操作系统上,音频处理技术主要是采用微软提供的相关API:Wave系列API函数、DirectSound、Core Audio。

我们简单的对以上接口从对操作系统版本的支持,是否支持声卡录音等方面加以说明

WaveIn系列API函数

是在32位的Windows上的一种老旧且过时,用来播放数字音讯的应用程序接 口,功能有所局限 ,它无法支持「混和多重音讯流」的功能。主要是用来实现对麦克风输入的采集(使用WaveIn系列API函数)和控制声音的播放(使用后WaveOut系列函数)。

支持XP及之后的Windows系统,支持麦克风输入的采集和控制声音的播放,不支持声卡的采集。

DirectSound

可实现多个声音的混合播放。DirectSound可充分使用声卡的内存资源,同时也提供了3D声效算法,模拟出真实的3D立体声。基于directx框架,directx 10之就没有了对directsound的支持,已经将directsound封装到directshow里面去了

支持XP及之后的Windows系统,支持麦克风,声卡的采集, 控制声音播放。

Core Audio

Windows Vista、Windows 7、Windows server 2008等系统音频系统相比之前的系统有很大的变化,产生了一套新的底层API即Core Audio APIs。该低层API为高层API( 如Media Foundation(将要取代DirectShow等高层API)等 )提供服务。相比之前版本的API有如下优势:

1. 具有低延时、故障恢复能力的音频流。

2. 提高可靠性 ( 将很多音频函数从核心态移到了用户态 )

3. 提高了安全性 (在安全的,低优先级别的线程处理被保护的音频内容)

4. 为单独的音频设备分配了特定的系统级别的规则 (console, multimedia, communications) 。

5. 用户可以直接操作相应音频终端设备(Audio Endpoint Devices 如:扬声器、耳机、麦克风、CD播放器)的软件抽象。

Core Audio APIs的组成

1. Multimedia Device (MMDevice) API 该API用于枚举系统中的音频终端设备(Audio Endpoint Devices)。告诉音频客户端程序有哪些音频终端设备以及它们的性能,并且为这些设备创建驱动实例(driver instances)。是最基本的Core Audio API,为其他三个API提供服务。

2. EndpointVolume API 使客户端程序能够操作音频终端设备。

3. Windows Audio Session API (WASAPI) 使客户端程序能够管理介于程序和音频终端设备之间的音频数据。

4. DeviceTopology API 客户端程序使用这个API可直接沿着音频适配器(audio adapters)的硬件设备里的数据通道进入布局特征。是最底层的音频API,可以通过适配器设备(adapter devices)的布局来查看和管理设备中的音频控制。下图为DeviceTopology API的作用范围

支持Vista及之后的Windows系统,支持麦克风,声卡输出的采集, 控制声音播放。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-10-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 音视频开发训练营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python-声音录制和处理
用sounddevice包播放音乐直接调用play函数来播放声音,需要传入需要播放声音的波形,和采样率。
用户9925864
2022/07/27
1.1K0
python-声音录制和处理
directshow使用说明_Process Monitor
DirectX是微软公司开发的一套基于Windows平台的编程接口(API);它能出色地完成高速的实时动画渲染、交互式音乐和环境音效、高效多媒体数据处理等一般API很难完成的任务。 DirectShow是DirectX大家族中的一位成员。DirectX的家族成员很多,而且各有各的本领,就如DirectDraw和Direct3D负责二维图形图像/三维动画加速、DirectMusic和DirectSound负责交互式音乐/环境音效处理一样,DirectShow为Windows平台上处理各种格式的媒体文件播放、音视频采集等高性能要求的多媒体应用,提供了完整的解决方案。
全栈程序员站长
2022/11/04
1.5K0
【FFmpeg】音视频录制 ③ ( 使用 ffmpeg 录制 Screen Capturer Recorder 软件生成的虚拟音视频设备 | 录制桌面 | 录制音频 | 同时录制 音频和视频数据 )
在上一篇博客 【FFmpeg】音视频录制 ② ( 使用 Screen Capturer Recorder 软件生成 ffmpeg 可录制的音视频设备 ) 中 , 安装了 Screen Capturer Recorder 软件 , 在 Windows 系统中生成了
韩曙亮
2024/05/04
7900
【FFmpeg】音视频录制 ③ ( 使用 ffmpeg 录制 Screen Capturer Recorder 软件生成的虚拟音视频设备 | 录制桌面 | 录制音频 | 同时录制 音频和视频数据 )
如何解决录音嗡嗡嗡?VoiceMeeter加OBS免费且强大的录音录像解决方案
前段时间,我买了一个铁三角的收音麦克,但每次录音都嗡嗡嗡,让我一度怀疑设备是否有问题,直到我玩懂了VoiceMeeter,才意识到我的声音被采集了两次,并叠加成了输出,所以产生了嗡嗡嗡的效果。如果你的收音麦克也有嗡嗡嗡的收音效果,可以按照本文的方法,重新调试一下设备,没准儿你的声音录出来很动听呢~
zhaoolee
2021/03/02
4K0
如何解决录音嗡嗡嗡?VoiceMeeter加OBS免费且强大的录音录像解决方案
想学习Android音视频,这些你知道吗?
Android音视频——编码介绍 Android音视频——相关介绍 相信不少小伙伴们工作一段时间都想如何进阶?很多一直做的都是应用层的APP开发,实现的基本都是UI效果,动画,机型适配,然后集成第三方的lib进行推送,支付,第三方登录,地图等的功能等等需求,如何学一点更深层次的东西?
程思扬
2022/01/11
7520
想学习Android音视频,这些你知道吗?
DirectShow 简介「建议收藏」
DirectShow(简称 DShow) 是一个 Windows 平台上的流媒体框架,提供了高质量的多媒体流采集和回放功能。它支持多种多样的媒体文件格式,包括 ASF、MPEG、AVI、MP3和WAV 文件,同时支持使用 WDM 驱动或早期的 VFW 驱动来进行多媒体流的采集。
全栈程序员站长
2022/09/07
2K0
DirectShow 简介「建议收藏」
沉浸式音频技术的制作,采集,播放及应用
大家好,我是来自时代拓灵的孙学京。本次分享将主要介绍沉浸式音频的从采集制作一直到播放整个链条上所需要的一些软件和硬件的技术。
LiveVideoStack
2019/09/26
2.7K0
沉浸式音频技术的制作,采集,播放及应用
普通CVM使用虚拟声卡转录音频
首先明确一下,server系统跟pc系统不同,server系统默认不支持远程录制音频(看到最后会发现需要特殊配置)
Windows技术交流
2021/06/23
2.5K0
从开发小白到直播软件开发的音视频专家
本文整理自卢俊的演讲,目标读者是对音视频开发感兴趣但是又不知道如何下手的初学者们,希望对大家有所帮助。
云豹kj的晨曦
2020/08/24
1.3K0
Linux下使用alsamixer配置系统默认的声卡设备(默认音频输出设备、输入设备、系统音量)
打开图形界面之后,按下F6,即可查看系统默认的声卡。在我的电脑上插了一个USB摄像头,带音频输入,在下图里就能看到两个声卡。退出图形界面按下Esc按键(键盘左上角)。
DS小龙哥
2022/01/12
23.1K1
Linux下使用alsamixer配置系统默认的声卡设备(默认音频输出设备、输入设备、系统音量)
Android平台实现系统内录(捕获播放的音频)并推送RTMP服务技术方案探究
几年来,我们在做无纸化同屏或在线教育相关场景的时候,总是被一件事情困扰:如何实现Android平台的系统内录,并推送到其他播放端,常用的场景比如做无纸化会议或教育的时候,主讲人或老师需要放一个视频,该怎么办呢?这里我们分析三种可行的技术方案:
音视频牛哥
2022/11/10
2.2K0
WPF桌面端开发-音视频录制(使用ffmpeg.exe实现)
本文只考虑在Windows下使用FFmpeg进行桌面、麦克风、扬声器同时录制的实现方式,Mac下会有些许差异。
码客说
2023/08/10
8100
嵌入式音频处理技术:从音频流媒体到声音识别
嵌入式音频处理技术的迅猛发展正在改变我们的生活方式,从音频流媒体到声音识别,这个领域为人们的生活和工作带来了巨大的影响。本文将探讨嵌入式音频处理技术的最新趋势和应用,以及提供相关的代码示例。
一键难忘
2023/12/09
5220
WPF桌面端开发-音视频录制、获取缩略图(使用OpenCvSharp)
音视频分开录制,音频如果麦克风和扬声器都录制的话,也要分开录制,最后再合并所有的流。
码客说
2023/07/11
1.7K0
Web Audio API 介绍和 web 音频应用案例分析
本文主要介绍了如何使用 Web Audio API 实现音频的剪辑、处理、合成和播放功能。作者通过实例演示了如何使用 Web Audio API 实现音频的剪辑、处理、合成和播放功能,包括音频的选帧、剪辑、淡入淡出、变速、变调、合成、播放控制等功能。此外,作者还介绍了 Web Audio API 的音频处理、合成和播放控制的用法,并提供了详细的示例代码。
QQ音乐技术团队
2017/11/21
7.7K0
Web Audio API 介绍和 web 音频应用案例分析
Android 6.0以后的音频延迟改进
随着 Android 6.0 Marshmallow 的部署,华为 Nexus 6P 的往返音频延迟大大改善了 18 毫秒,HTC Nexus 9 的时钟延迟为 15 毫秒。在上一篇文章中提到,10毫秒以内的环路延迟才能被称为专业音频。
阿利民
2022/05/16
5870
如何快速实现Windows平台屏幕摄像头采集并推送RTMP|轻量级RTSP服务能力?
好多开发者跟我们做技术交流的时候,会问到如何快速实现Windows平台屏幕摄像头推流能力?一个好的Windows推送模块,需要注意哪些技术细节?
音视频牛哥
2024/08/08
3110
如何快速实现Windows平台屏幕摄像头采集并推送RTMP|轻量级RTSP服务能力?
directshow是什么_showpoint
DirectShow是一个windows平台上的流媒体框架,提供了高质量的多媒体流采集和回放功能。它支持多种多样的媒体文件格式,包括ASF、MPEG、AVI、MP3和WAV文件,同时支持使用WDM驱动或早期的VFW驱动来进行多媒体流的采集。DirectShow整合了其它的DirectX技术,能自动地侦测并使用可利用的音视频硬件加速,也能支持没有硬件加速的系统。
全栈程序员站长
2022/11/04
9280
Android平台实现屏幕录制(屏幕投影)|音频播放采集|麦克风采集并推送RTMP或轻量级RTSP服务
好多开发者,希望我们能系统的介绍下无纸化同屏的原理和集成步骤,以Android平台为例,无纸化同屏将Android设备上的屏幕内容实时投射到另一个显示设备(如Windows终端、国产化操作系统或另一台Android设备)上,从而实现多屏互动和内容的无缝共享。
音视频牛哥
2024/08/16
2210
Android平台实现屏幕录制(屏幕投影)|音频播放采集|麦克风采集并推送RTMP或轻量级RTSP服务
Android平台RTMP推送|轻量级RTSP服务如何实现麦克风|扬声器声音采集切换
我们在做Android端同屏的时候,开发者希望可以高版本的Android系统上,在设备支持的前提下,可以采集到扬声器输出的audio,并支持和麦克风采集的audio相互切换,实现无纸化|智慧教室同屏不同audio模式的输出。Android系统出于安全和隐私的考虑,默认并不允许应用程序直接访问系统级别的音频输出。
音视频牛哥
2024/08/21
1620
Android平台RTMP推送|轻量级RTSP服务如何实现麦克风|扬声器声音采集切换
推荐阅读
相关推荐
python-声音录制和处理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档