c语言 waveout用法,用C语言发声
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
{
static double fAngle ;
short * Point=(short *)pBuffer;
int i ;
for (i=0 ; i < OUT_BUFFER_SIZE / (SAMPLE_BITS*CHANNELS/8) ; i++)
{
fAngle += 2 * PI * Freq / SAMPLE_RATE ;
*Point=(short)0x8000 * sin(fAngle);
Point++;
*Point=(short)0x8000 * sin(fAngle);
Point++;
while (fAngle > 2 * PI)
fAngle -= 2 * PI ;
}
}
void CALLBACK waveOutProc(HWAVEOUT hWaveOut, UINT uMsg,DWORD dwInstance, DWORD dwParam1, DWORD dwParam2)
{
PWAVEHDR pWaveHdr=(PWAVEHDR)dwParam1;
static bool isClose=false;
switch (uMsg)
{
case MM_WOM_DONE:
{
if(!isEnd)
{
FillBuffer (pWaveHdr->lpData, iFreq) ;
waveOutWrite (hWaveOut, pWaveHdr, sizeof (WAVEHDR)) ;
iFreq+=10;
printf("freq=%d\n",iFreq);
}
break;
}
case MM_WOM_OPEN:
case MM_WOM_CLOSE:
break;
}
}
void main()
{
LPSTR pBuffer1 = (LPSTR)malloc (OUT_BUFFER_SIZE) ;
LPSTR pBuffer2 = (LPSTR)malloc (OUT_BUFFER_SIZE) ;
WaveHdr1.lpData=pBuffer1;
WaveHdr2.lpData=pBuffer2;
FillBuffer (pBuffer1, iFreq) ;
c语言 waveout用法,用C语言发声相关推荐
- c语言 raii 用法日志,C 语言实现 RAII
尽管有许多的争议,但我还是觉得 C++ 中的 RAII 惯用法是个好东西,也是写 C 代码时唯一怀念的 C++ 特性.下面是一些 C 语言实现 RAII 的方法: gcc #define RAII_V ...
- c语言cobegin用法,用C语言实现P、V操作
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 2.理发师问题:一个理发店有一个入口和一个出口.理发店内有一个可站5 位顾客的站席 区.4 个单人沙发.3 个理发师及其专用理发工具.一个收银台.新来的顾 ...
- C语言pop_back用法,【C语言】单链表的所有操作的实现(包括PopBack、PushBack、PopFront、PushFront、Insert)...
#define _CRT_SECURE_NO_WARNINGS 1 #include using namespace std; //单链表的实现 #include typedef int DataTy ...
- c语言 const常量作用,C语言 const常量讲解
//const的本质 //const本质上是伪常量,无法用于数组初始化以及全局变量初始化 //原因在于const仅仅限定变量无法直接赋值,但是却可以通过指针间接赋值 //例如局部常量在栈区,而不在静态 ...
- c语言指针用法有哪些
c语言指针用法: 一,指针定义: 指针变量的取值范围取值0~4G,是一种数据类型(无符号整数,代表了内存编号).它可以用来定义变量(与int.long一样),与int.long不同的它存储整数代表了内 ...
- C语言STATIC用法
C语言STATIC用法 转自:http://blog.csdn.net/vagrantisme/article/details/4083722 1. static 变量 静态变量的类型 说 ...
- go 正则表达式分组匹配_Go语言正则表达式用法实例小结【查找、匹配、替换等】...
本文实例讲述了Go语言正则表达式用法.分享给大家供大家参考,具体如下: Go语言的正则表达式使用很简单,示例代码: 复制代码 代码如下: package test import ( "fmt ...
- R语言 sub()用法
R语言 sub()用法 subR语言中的函数用于替换字符串中模式的第一个匹配项.如果有一个字符串元素向量,那么它将替换所有元素中模式的第一个匹配项. 用法: sub(pattern, replacem ...
- C语言continue用法
C语言continue用法 continue只是跳出当前循环,并不会跳出整个while循环. For example: 建立 showchar2.c 1 #include <stdio.h> ...
最新文章
- icmp 报文中的进程号
- x86中的页表结构和页表项格式
- 使用Windows PowerShell管理虚拟交换机
- 国外学python的软件_全球开发者调查报告:IT人最想学习 Go 和 Python、美国开发者收入最高...
- EventFlow.helper.js 事件流程控制
- LeetCode167 | Two Sum II - Input array is sorted (Easy)
- Spring context命名空间
- c语言从文件查找字符串,C语言文件中字符串的查找与替换?
- Linux命令整理 - 通用版
- ubuntu窗口排列和分屏工具
- matlab语音信号处理/滤波器降噪/时域频域、归一化图谱
- 如何自学计算机access,我是怎样自学access的
- html页面睡眠函数,JavaScript sleep睡眠函数
- Office2021版安装出错
- 【linux内核分析与应用-陈莉君】时钟中断机制
- OpenDDS的动态绑定bind_config传输配置和实例
- 爬虫实战2(上):爬取豆瓣影评
- NAND FLAASH基础
- Python_OpenCV对摄像头图像进行对焦判断
- 西瓜书 6.1 计算 样本空间任意点x到超平面(w,b)的距离d