该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

{

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语言发声相关推荐

  1. c语言 raii 用法日志,C 语言实现 RAII

    尽管有许多的争议,但我还是觉得 C++ 中的 RAII 惯用法是个好东西,也是写 C 代码时唯一怀念的 C++ 特性.下面是一些 C 语言实现 RAII 的方法: gcc #define RAII_V ...

  2. c语言cobegin用法,用C语言实现P、V操作

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 2.理发师问题:一个理发店有一个入口和一个出口.理发店内有一个可站5 位顾客的站席 区.4 个单人沙发.3 个理发师及其专用理发工具.一个收银台.新来的顾 ...

  3. C语言pop_back用法,【C语言】单链表的所有操作的实现(包括PopBack、PushBack、PopFront、PushFront、Insert)...

    #define _CRT_SECURE_NO_WARNINGS 1 #include using namespace std; //单链表的实现 #include typedef int DataTy ...

  4. c语言 const常量作用,C语言 const常量讲解

    //const的本质 //const本质上是伪常量,无法用于数组初始化以及全局变量初始化 //原因在于const仅仅限定变量无法直接赋值,但是却可以通过指针间接赋值 //例如局部常量在栈区,而不在静态 ...

  5. c语言指针用法有哪些

    c语言指针用法: 一,指针定义: 指针变量的取值范围取值0~4G,是一种数据类型(无符号整数,代表了内存编号).它可以用来定义变量(与int.long一样),与int.long不同的它存储整数代表了内 ...

  6. C语言STATIC用法

    C语言STATIC用法 转自:http://blog.csdn.net/vagrantisme/article/details/4083722       1. static 变量 静态变量的类型 说 ...

  7. go 正则表达式分组匹配_Go语言正则表达式用法实例小结【查找、匹配、替换等】...

    本文实例讲述了Go语言正则表达式用法.分享给大家供大家参考,具体如下: Go语言的正则表达式使用很简单,示例代码: 复制代码 代码如下: package test import ( "fmt ...

  8. R语言 sub()用法

    R语言 sub()用法 subR语言中的函数用于替换字符串中模式的第一个匹配项.如果有一个字符串元素向量,那么它将替换所有元素中模式的第一个匹配项. 用法: sub(pattern, replacem ...

  9. C语言continue用法

    C语言continue用法 continue只是跳出当前循环,并不会跳出整个while循环. For example: 建立 showchar2.c 1 #include <stdio.h> ...

最新文章

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

热门文章

  1. loadClass 使用
  2. PX4 FMU [7] rgbled [转载]
  3. 初学python之路-day11
  4. laravel 与 tp5 获取控制器 方法名
  5. -pie can only be used when targeting iOS 4.2 or later
  6. Redis在CentOS 7上的安装部署
  7. Java8 HashMap之tableSizeFor
  8. 添加鼠标右键菜单项(EditPlus为例)
  9. FrameWork数据权限浅析4之基于多维度配置表实现行级数据安全
  10. 硬盘安装Debian