首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何从Wave Out捕获PCM数据

如何从Wave Out捕获PCM数据
EN

Stack Overflow用户
提问于 2008-09-21 10:19:31
回答 2查看 2.7K关注 0票数 4

如何以编程方式捕获音频?我正在实现一个在网络上实时流式传输桌面的应用程序。视频部分已经完成。我需要实现音频部分。我需要一种从声卡获取PCM数据的方法,以便馈送到我的编码器(使用Windows Media格式实现)。

我认为答案与Win32应用编程接口中的openMixer()、waveInOpen()函数有关,但我不确定我到底应该做什么。

如何打开必要的通道,如何从通道中读取PCM数据?

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-09-21 11:43:17

我不认为有一个直接的方式来做到这一点使用操作系统-这是一个功能,可能会(也可能不会)出现在声卡上。一些声卡有一个回送接口-- Creative称之为"What U Hear“。您只需选择它作为输入,而不是麦克风,并使用您已经知道的普通waveInOpen()从它进行录制。

如果声卡没有这个功能,那么我认为你除了做一些疯狂的事情,比如制作自己的驱动程序之外,你就不走运了。或者,您可以说服用户使用电缆从扬声器输出端连接到线路输入端:)

票数 4
EN

Stack Overflow用户

发布于 2008-09-26 06:16:54

新的Windows Vista Core Audio API明确支持这一点(称为回送录制),所以如果您可以使用Vista唯一的应用程序,这是可行的方法。

有关如何执行此操作的说明,请参阅MSDN上的Loopback Recording文章。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/111603

复制
相关文章
AudioToolbox_如何录制PCM格式的数据
先来认识一下头文件 AudioConverter.h: 音频转换接口。定义用于创建和使用音频转换器的接口 AudioFile.h: 定义一个用于读取和写入文件中的音频数据的接口。 AudioFileStream.h: 定义了一个用于解析音频文件流的接口。 AudioFormat.h: 定义用于分配和读取音频文件中的音频格式元数据的接口。 AudioQueue.h: 定义播放和录制音频的接口。 AudioServices.h: 定义三个接口。系统健全的服务让你播放简短的声音和警报。音频硬件服务提供了一个轻量级的接口,用于与音频硬件交互。音频会议服务,让iPhone和iPod触摸应用管理音频会议。 AudioToolbox.h: 顶层包括音频工具箱框架的文件。 AuGraph.h:定义用于创建和使用音频处理图形界面。 ExtendedAudioFile.h: 定义用于将音频数据从文件直接转化为线性PCM接口,反之亦然。
酷走天涯
2018/09/14
1.5K0
AudioToolbox_如何录制PCM格式的数据
try-catch能捕获Out Of Memory Error吗?
现已知代码A可能诱发OOM。代码B可替代代码A但可维护性差。我希望能先尝试执行代码A,如果发生OOM,则退回来执行代码B。 那么如下代码可行吗?
JavaEdge
2021/10/18
9510
try-catch能捕获Out Of Memory Error吗?
现已知代码A可能诱发OOM。代码B可替代代码A但可维护性差。我希望能先尝试执行代码A,如果发生OOM,则退回来执行代码B。 那么如下代码可行吗?
JavaEdge
2021/12/07
5430
如何用Wireshark捕获USB数据?
现在越来越多的电子设备采用USB接口进行通讯,通讯标准也在逐步提高。那么,我们就会好奇这些设备是如何工作的?而无论你是一个硬件黑客,业余爱好者或者只是对它有一点兴趣的,USB对我们都是具有挑战性的。 事实上通过wireshark,我们可以捕获到usb设备发送给我们主机的数据,这样就可以进一步研究了。 本文中,我们将向大家介绍怎样通过wireshark捕获usb数据,使用的环境如下: l Wireshark 2.0.1(SVN)l Linux kernel 4.1.6 你也可以用其他版本的wiresh
FB客服
2018/02/07
3.1K0
如何用Wireshark捕获USB数据?
libzplay库
关于MP3文件播放:通常步骤是:获取MP3相关参数 -> 解码-> 相关平台播放音频接口播放声音;
全栈程序员站长
2022/07/25
1K0
音视频入门之音频采集、编码、播放
今天我们学习音频的采集、编码、生成文件、转码等操作,我们生成三种格式的文件格式,pcm、wav、aac 三种格式,并且我们用 AudioStack 来播放音频,最后我们播放这个音频。
Android技术干货分享
2019/04/18
3.6K0
Android OpenSL ES播放PCM 数据(九)
本章主要讲述如何通过Android OpenSL 实现播放 PCM 音频数据。开发流程回顾可以看下笔者前面发布的文章
PengJie
2021/01/10
1.3K0
go 如何捕获异常
什么是异常? 不按照我们期望执行的都可以称之为异常 在Go语言中如何处理异常? 一种是程序发生异常时, 将异常信息反馈给使用者 一种是程序发生异常时, 立刻退出终止程序继续运行 将异常信息反馈给使用者
王小明_HIT
2021/07/05
1.4K0
wav文件提取出pcm数据
/******************************************************************************************************* 文件功能:wav文件中提取pcm数据 作者:HFL 日期:2014-1-12 说明:wav文件就是在pcm数据的基础上加了一文件头。文件头的大小为44个字节(没有附件字段的情况,如果有附加字段问46个字节)       ,剔除文件头,就是纯pcm采样过来的数据。  pcm构成要素:采样率 ,声道个数,数据符号特性(一般8位都是无符号的) ********************************************************************************************************/ #include<stdio.h> #include<stdlib.h> void main() { FILE *infile, *outfile; char *buf = NULL; long length;    if((infile = fopen ("e:\\1.wav", "rb+"))==NULL) { printf("Open the 1.wav failed\n"); return ; } else { printf("Open the 1.wav success\n"); } if((outfile = fopen ("e:\\2.pcm", "wb"))==NULL) { printf("Open the 2.pcm failed\n"); return ; } else { printf("Open the 2.pcm success\n"); } /*获取文件的长度*/ fseek(infile,0,SEEK_END); length=ftell(infile); buf = (char*)malloc(length-43);/*文件数据段长度等于文件总长度-文件头长度位置*/
用户4148957
2022/06/14
1.2K0
Linux下使用alsa-lib库完成音频开发: 实现放音和录音(从声卡获取PCM数据保存、向声卡写PCM数据输出)
参考文章: https://blog.csdn.net/xiaolong1126626497/article/details/104916277
DS小龙哥
2022/01/12
9.2K2
如何使用libavfilter库给pcm音频采样数据添加音频滤镜?
  初始化音频滤镜的方法基本上和初始化视频滤镜的方法相同,不懂的可以看上篇博客,这里直接给出代码:
故乡的樱花开了
2023/10/22
3360
Android 音频PCM数据的采集和播放,读写音频wav文件
本文目的:使用 AudioRecord 和 AudioTrack 完成音频PCM数据的采集和播放,并读写音频wav文件
AnRFDev
2021/02/01
3.5K0
分享用于学习C++音频处理的代码示例
与《分享用于学习C++图像处理的代码示例》为姊妹篇。 为了便于学习C++音频处理并研究音频算法, 俺写了一个适合初学者学习的小小框架。 麻雀虽小五脏俱全,仅仅考虑单通道处理。 采用Decoder an
cpuimage
2018/04/12
2.6K0
分享用于学习C++音频处理的代码示例
Andorid pcm转码wav
参考文章:https://blog.csdn.net/hesong1120/article/details/79043482
饮水思源为名
2018/10/25
2K0
史上全最的WAV格式详解
  WAV即WAVE,是经典的Windows音频数据封装格式,由Microsoft开发。数据本身格式为PCM,也可以支持一些编码格式的数据,比如最近流行的AAC编码。如果是PCM,则为无损格式,文件会比较大,并且大小相对固定,可以使用以下公式计算文件大小。
阿利民
2022/05/16
5K0
Android OpenSL 录制 PCM 音频数据(八)
本章主要讲述如何通过Android OpenSL 实现录制 PCM 音频数据。开发流程回顾可以看下笔者前面发布过的文章。
PengJie
2021/01/10
1.2K0
Flutter异常捕获 | 从bugsnag源码学习如何追溯异常产生路径
没错,继Flutter异常监控 | 框架Catcher原理分析 之后,带着那颗骚动的好奇心我又捣鼓着想找其他Flutter异常监控框架读读,看能不能找到一些好玩的东西,于是在官方介绍第三方库里发现了这货Bugsnag,大致扫了下源码发现flutter侧主流程很简单没啥东西可看滴,因为这货强烈依赖对端能力,Flutter异常捕获之后就无脑抛给对端SDK自己啥都不干 ,抛开Bugsnag这种处理异常的方式不论,源码里却也有一些之我见的亮度值得借鉴和学习,比如本文主要介绍Bugsnag如何追溯异常路径的设计思想和实现,对异常捕获的认识有不少帮助。
睡觉谁叫
2022/12/22
1.1K0
Flutter异常捕获 | 从bugsnag源码学习如何追溯异常产生路径
ALSA中常用的测试工具以及一些基本技巧
一直在做的一个功能是实现系统内部的SoftWare Loopback, 过程中需要学习ALSA相关的知识,包括驱动 / 应用都需要去了解.而ALSA的官方文档感觉很久没有维护,不怎么好理解,只能边看文档变结合源代码去分析问题.而ALSA这部分从驱动到应用,从原理到实践涉及到的知识比较多,并不是这边文章所能讲述清楚的,只能把最近遇到的问题具体分析. 这样写起来更有目标.
程序手艺人
2019/08/14
1.6K1
WAV文件格式解析及处理
RIFF全称为资源互换文件格式(Resources Interchange File Format),是Windows下大部分多媒体文件遵循的一种文件结构。RIFF文件所包含的数据类型由该文件的扩展名来标识
deep_sadness
2018/10/25
6.6K0
点击加载更多

相似问题

Android:使用原始PCM创建Wave文件,wave文件不播放

14

网络流PCM (wave)音频的现场回放

11

pjsip捕获和播放pcm数据

12

android系统中PCM / WAVE到AAC的转换

11

如何使用WAVE_FORMAT_PCM将音频转换为FFmpeg?

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档