Windows PCM音频捕获与播放实现
使用waveOutGetNumDevs和waveOutGetDevCaps来获取波形输出设备的个数和能力。只有在确定设备存在之后,才可以打开设备、使用设备。
waveInGetNumDevs |
返回系统中存在的波形输入设备的数量 |
waveInAddBuffer |
向波形输入设备添加一个输入缓冲区 |
waveInGetDevCaps |
查询指定的波形输入设备以确定其性能 |
waveInGetErrorText |
检取由指定的错误代码标识的文本说明 |
waveInGetID |
获取指定的波形输入设备的标识符 |
waveInGetPosition |
检取指定波形输入设备的当前位置 |
waveInMessage |
发送一条消息给波形输入设备的驱动器 |
waveInOpen |
为录音而打开一个波形输入设备 |
waveInPrepareHeader |
为波形输入准备一个输入缓冲区 |
waveInStart |
启动在指定的波形输入设备的输入 |
waveInReset |
停止给定的波形输入设备的输入,且将当前位置清零 |
waveInStop |
停止在指定的波形输入设备上的输入 |
waveInUnprepareHeader |
清除由waveInPrepareHeader函数实现的准备 |
WaveInClose |
关闭指定的波形输入设置 |
waveOutBreakLoop |
中断给定的波形输出设备上一个循环,并允许播放驱动取列表中的下一个块 |
waveOutClose |
关闭指定的波形输出设备 |
waveOutGetDevCaps |
查询一个指定的波形输出设备以确定其性能 |
waveOutGetErrorText |
检取由指定的错误代码标识的文本说明 |
waveOutGetID |
检取指定的波形输出设备的标识符 |
waveOutGetNumDevs |
检取系统中存在的波形输出设备的数量 |
waveOutGetPitch |
查询一个波形输出设备的当前音调设置 |
waveOutGetPlaybackRate |
查询一个波形输出设备当前播放的速度 |
waveOutGetPosition |
检取指定波形输出设备的当前播放位置 |
waveOutGetVolume |
查询指定波形输出设备的当前音量设置 |
waveOutMessage |
发送一条消息给一个波形输出设备的驱动器 |
waveOutOpen |
为播放打开一个波形输出设备 |
waveOutPause |
暂停指定波形输出设备上的播放 |
waveOutPrepareHeader |
为播放准备一个波形缓冲区 |
waveOutRestart |
重新启动一个被暂停的波形输出设备 |
waveOutSetPitch |
设置一个波形输出设备的音调 |
waveOutSetPlaybackRate |
设置指定波形输出设备的速度 |
waveOutSetVolume |
设置指定的波形输出设备的音量 |
waveOutUnprepareHeader |
清除由waveOutPrepareHeader函数实现的准备 |
waveOutWrite |
向指定的波形输出设备发送一个数据块 |
Windows PCM音频捕获与播放实现的更多相关文章
- Windows 下音频数据采集和播放
音频操作所需头文件和链接库 #include<mmsystem.h>#include<mmreg.h>#pragma comment(lib, "winmm.lib ...
- 使用AudioTrack播放PCM音频数据(android)
众所周知,Android的MediaPlayer包含了Audio和video的播放功能,在Android的界面上,Music和Video两个应用程序都是调用MediaPlayer实现的.MediaPl ...
- 使用WindowsAPI实现播放PCM音频的方法
这篇文章主要介绍了使用WindowsAPI实现播放PCM音频的方法,很实用的一个功能,需要的朋友可以参考下 本文介绍了使用WindowsAPI实现播放PCM音频的方法,同前面一篇使用WindowsAP ...
- AudioRecord 录制播放PCM音频
AudioRecord 与 MediaRecorder 区别 AudioRecord 基于字节流录制,输出的是pcm数据,未进行压缩,直接保存的pcm文件不能被播放器识别播放. 可以对音频文件进行实时 ...
- 简单实用的PCM音频播放器--沉寂几年之后回归的第一份笔记
---恢复内容开始--- PCM音频网络流播放,至于用处,就不多解释了. 一个简单的类,基于NAudio,一个简单的拼装类,实例化时三个参数,依次是采样率,系统播放设备Index,播放声道,调用Pla ...
- 视音频数据处理入门:PCM音频采样数据处理
===================================================== 视音频数据处理入门系列文章: 视音频数据处理入门:RGB.YUV像素数据处理 视音频数据处理 ...
- Android OpenSL ES 开发:Android OpenSL 录制 PCM 音频数据
一.实现说明 OpenSL ES的录音要比播放简单一些,在创建好引擎后,再创建好录音接口基本就可以录音了.在这里我们做的是流式录音,所以需要用至少2个buffer来缓存录制好的PCM数据,这里我们可以 ...
- Android OpenSL ES 开发:OpenSL ES利用SoundTouch实现PCM音频的变速和变调
缘由 OpenSL ES 学习到现在已经知道 OpenSL ES 不仅能播放和录制PCM音频数据,还能改变声音大小.设置左声道或右声道播放.还能变速播放,可谓是播放音频的王者.但是变速有一点不好的就是 ...
- C++ 调节PCM音频音量大小
在用解码器解码音频数据得到PCM音频数据块之后,可以在将数据送给声卡播放之前调节其音量大小,具体的实现函数如下: void RaiseVolume(char* buf, UINT32 size, UI ...
随机推荐
- Linux文件查找命令
1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> ...
- CentOS 7.x samba 服务器安装
以下以root用户执行 1.安装: # yum install samba samba-client -y 2.设置开机启动: # systemctl enable smb.service ln ...
- SpringBoot启动流程分析(六):IoC容器依赖注入
SpringBoot系列文章简介 SpringBoot源码阅读辅助篇: Spring IoC容器与应用上下文的设计与实现 SpringBoot启动流程源码分析: SpringBoot启动流程分析(一) ...
- [笔记]我的Linux入门之路 - 02.***-Qt5配置
作为一个学习中的程序员,查wiki等,***肯定是刚需.况且没有它很多东西都下不下来.我在windows环境下使用的是shadowsocks,那么在linux下也使用它. 一.SS版本 SS版本众多, ...
- 九度OJ 1337:寻找最长合法括号序列 (DP)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:839 解决:179 题目描述: 给你一个长度为N的,由'('和')'组成的括号序列,你能找出这个序列中最长的合法括号子序列么?合法括号序列的 ...
- Java和js的区别,以及Java和c的区别
刚开始的时候我们也搞不清这些概念,不过后来就慢慢清晰了,首先和大家谈谈Java和js的区别,最简单的区别就是一个是后端,一个是前端. java是纯面向对象语言,javascrip其实和Java是完 ...
- 【python】-- 递归函数、高阶函数、嵌套函数、匿名函数
递归函数 在函数内部,可以调用其他函数.但是在一个函数在内部调用自身,这个函数被称为递归函数 def calc(n): print(n) if int(n/2) == 0: #结束符 return n ...
- [note]fhq_treap
fhq_treap 这东西据说是某个叫范浩强的神仙搞出来的, 他的这种treap可以不用旋转并且资磁很多平衡树操作, 复杂度通过随机的键值来保证(树大致平衡,期望一次操作复杂度\(logn\)) 依靠 ...
- Django 事务
Django事务 事务是通过将一组相关操作组合为一个,要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠.事务具有4个特性:原子性.一致性.隔离性.持久性. 默认情况下,在Djang ...
- 我的Android进阶之旅------>Android关于TextWatcher的初步了解
首先来看一下TextWatcher的源代码 package android.text; /** * When an object of a type is attached to an Editabl ...