当前位置: 首页 > news >正文

金融理财网站建设方案seo数据

金融理财网站建设方案,seo数据,网站集约化建设较好的城市,深圳网站开发哪家公司好Windows API提供了Winmm(Windows多媒体)库,其中包括了音频设备相关的函数,可以用来实现音频设备的枚举和测试。 下面是一个简单的示例代码,演示了如何使用Winmm库中的waveInGetNumDevs()函数来枚举计算机上的音频输入…

Windows API提供了Winmm(Windows多媒体)库,其中包括了音频设备相关的函数,可以用来实现音频设备的枚举和测试。

下面是一个简单的示例代码,演示了如何使用Winmm库中的waveInGetNumDevs()函数来枚举计算机上的音频输入设备数量,并使用waveInOpen()函数打开其中一个设备并进行测试录音。

#include <iostream>
#include <Windows.h>
#include <mmsystem.h>#pragma comment(lib, "winmm.lib")void CALLBACK waveInProc(HWAVEIN hwi, UINT uMsg, DWORD_PTR dwInstance, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
{// 实现录音回调函数
}int main() {UINT numDevs = waveInGetNumDevs();std::cout << "Number of audio input devices: " << numDevs << std::endl;WAVEFORMATEX format;format.wFormatTag = WAVE_FORMAT_PCM;format.nChannels = 1;format.nSamplesPerSec = 44100;format.wBitsPerSample = 16;format.nBlockAlign = format.nChannels * format.wBitsPerSample / 8;format.nAvgBytesPerSec = format.nSamplesPerSec * format.nBlockAlign;HWAVEIN hWaveIn;MMRESULT result = waveInOpen(&hWaveIn, WAVE_MAPPER, &format, (DWORD_PTR)waveInProc, NULL, CALLBACK_FUNCTION);if (result == MMSYSERR_NOERROR) {std::cout << "Audio input device opened successfully" << std::endl;// 开始录音result = waveInStart(hWaveIn);if (result == MMSYSERR_NOERROR) {std::cout << "Recording started" << std::endl;}else {std::cerr << "Failed to start recording" << std::endl;waveInClose(hWaveIn);return 1;}// 停止录音system("pause");waveInStop(hWaveIn);waveInReset(hWaveIn);waveInClose(hWaveIn);std::cout << "Recording stopped" << std::endl;}else {std::cerr << "Failed to open audio input device" << std::endl;return 1;}return 0;
}

在这个例子中,waveInGetNumDevs()函数返回了计算机上可用的音频输入设备数量。waveInOpen()函数用于打开音频设备,其中参数WAVE_MAPPER表示使用默认设备,&format指向一个WAVEFORMATEX结构体,描述了所需的音频格式,waveInProc是一个回调函数,用于处理录音数据。然后,waveInStart()函数开始录音,system("pause")函数用于暂停程序,以等待用户手动停止录音。最后,waveInStop()函数停止录音,waveInReset()函数清除录音缓冲区,waveInClose()函数关闭音频设备。

waveInProc是一个回调函数,用于处理录音数据,这个回调函数有五个参数,它们的含义如下:

  • HWAVEIN hwi:表示音频设备的句柄,即与音频设备建立的连接。
  • UINT uMsg:表示回调函数的消息类型,可以是以下值之一:
    • WIM_OPEN:当音频设备已经打开并准备好录音时,发送此消息。
    • WIM_DATA:当音频设备已经采集到音频数据时,发送此消息。
    • WIM_CLOSE:当音频设备已经关闭时,发送此消息。
  • DWORD_PTR dwInstance:一个应用程序定义的32位数值,它在打开音频设备时指定,用于传递应用程序特定的信息。
  • DWORD_PTR dwParam1:当uMsgWIM_OPENWIM_CLOSE时,此参数为0。当uMsgWIM_DATA时,此参数是一个指向WAVEHDR结构体的指针,表示音频数据的头信息。
  • DWORD_PTR dwParam2:当uMsgWIM_OPENWIM_CLOSE时,此参数为0。当uMsgWIM_DATA时,此参数为一个DWORD值,表示已经采集到的音频数据的字节数。

需要注意的是,waveInProc函数是在一个独立的线程中执行的,因此要注意线程安全。

http://www.tj-hxxt.cn/news/68846.html

相关文章:

  • 做新媒体应该关注什么网站宣传推广方案范文
  • 抖音seo排名优化公司seo排名
  • 如何做招生网站搜索优化引擎
  • 建网站那种服务器好b站视频推广网站动漫
  • 长沙好的网站建设品牌谷歌优化的最佳方案
  • 太原网站建设设计怎样注册自己网站的域名
  • 用.cc做网站官网可以吗seo专员的工作内容
  • 新风向网站建设2023重大新闻事件10条
  • 门户网站建设模板网站seo快速排名优化的软件
  • 门户网站建设投资网络推广怎么收费
  • 菏泽住房和城乡建设局网站班级优化大师功能介绍
  • 免费网站模板代码app推广代理
  • 网页设计价格影响因素seo公司seo教程
  • 美篇在哪个网站做的培训机构在哪个平台找
  • 广东手机网站制作价格百度知道首页官网
  • 重庆网站建设哪家公司哪家好小米市场营销案例分析
  • 想做个网站不知道做什么seo关键词优化推广报价表
  • 全国村级网站建设宁波网络营销策划公司
  • 鹤壁网站建设兼职搜索引擎优化概述
  • 个人网站模板怎么做手机端seo
  • 网站建设基础竞价外包推广专业公司
  • 男人和女人做哪个网站合肥seo排名优化公司
  • 做英语四级题的网站市场调研报告万能模板
  • 做效果图常用的网站网络广告策划书模板范文
  • 情侣博客网站模板考研最靠谱的培训机构
  • 滚屏加载 wordpress搜狗搜索引擎优化论文
  • 做网站需要买什么百度搜索高级搜索技巧
  • wordpress订单邮件seo站内优化技巧
  • 网站后台功能开发新型营销方式
  • 网站里的个人中心下拉列表怎么做百度推广怎么优化排名