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> ...
最新文章
- Tomcat 和 JVM 的性能调优总结
- 数据结构实验之图论八:欧拉回路
- 的训练过程_指外翻的人在训练的过程中,要不要拉伸收肌?
- 表单提交报错405的解决方式
- messagebox 全部使用_你一定要知道的Windows 10系统的使用技巧
- 大数据之-Hadoop_环境搭建_JDK安装---大数据之hadoop工作笔记0017
- Ribbon Finance将WBTC Theta Vault存款上限提高至250WBTC
- [python]python jieba 模块
- 机器学习(6)——朴素贝叶斯(文本分类)
- EasyUI-基本框架
- 二阶矩阵转置怎么求_矩阵的转置怎么求 详情介绍
- 问题解决:虚拟机无法复制粘贴文件
- 在网站中使用一些字体是否会构成侵权?
- AD使用技巧——如何改变布线走线的角度
- 宝塔面板+腾讯云轻量应用服务器部署fiora聊天室
- 操作系统实践-BIOS
- ImportError: cannot import name ‘_validate_lengths‘ from ‘numpy.lib.arraypad‘完美解决方法
- 服务器心跳信号,服务器心跳攻击
- trs java_trs常见问题 - This Is A FineDay - BlogJava
- ICCV 2019 | VIPL实验室5篇录取论文详解