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

购物网站产品做促销能赚钱吗线上推广费用

购物网站产品做促销能赚钱吗,线上推广费用,开发网站合作协议,如何建设好网站Windows波形音频MMEAPI简介 使用MMEAPI时需要导入头文件&#xff1a;#include<mmeapi.h> mmeapi.h文件的主要内容 mmeapi.h 文件是 Windows 多媒体 API 的一部分&#xff0c;主要用于处理波形音频&#xff08;Waveform Audio&#xff09;的输入和输出。以下是该文件的…

Windows波形音频MMEAPI简介

使用MMEAPI时需要导入头文件:#include<mmeapi.h>

mmeapi.h文件的主要内容

mmeapi.h 文件是 Windows 多媒体 API 的一部分,主要用于处理波形音频(Waveform Audio)的输入和输出。以下是该文件的主要内容和功能:

  1. 错误返回值
    定义了一些波形音频操作的错误返回值,例如:
  • WAVERR_BADFORMAT:不支持的波形格式。
  • WAVERR_STILLPLAYING:仍有音频在播放。
    • WAVERR_UNPREPARED:音频头未准备好。
    • WAVERR_SYNC:设备是同步的。
  1. 数据类型
    定义了一些与波形音频相关的数据类型,例如:
    • HWAVE、HWAVEIN、HWAVEOUT:波形音频设备的句柄。
    • WAVECALLBACK:波形音频回调函数类型。

  2. 回调消息
    定义了一些波形音频设备的回调消息,例如:
    • WOM_OPEN、WOM_CLOSE、WOM_DONE:波形输出设备的回调消息。
    • WIM_OPEN、WIM_CLOSE、WIM_DATA:波形输入设备的回调消息。

  3. 设备 ID
    定义了波形设备映射器的设备 ID:
    • WAVE_MAPPER:用于波形设备映射器的设备 ID。

  4. 标志
    定义了一些用于 waveOutOpen 和 waveInOpen 函数的标志,例如:
    • WAVE_FORMAT_QUERY:查询格式。
    • WAVE_ALLOWSYNC:允许同步。
    • WAVE_MAPPED、WAVE_FORMAT_DIRECT 等。

  5. 数据块头
    定义了波形数据块头的结构体 WAVEHDR,包括以下字段:
    • lpData:指向数据缓冲区的指针。
    • dwBufferLength:数据缓冲区的长度。
    • dwBytesRecorded:仅用于输入。
    • dwUser:供客户端使用。
    • dwFlags:各种标志。
    • dwLoops:循环控制计数器。
    • lpNext、reserved:保留给驱动程序使用。

  6. 设备能力结构
    定义了波形输出设备和输入设备的能力结构体,例如:
    • WAVEOUTCAPS、WAVEINCAPS:描述设备的能力,包括制造商 ID、产品 ID、驱动程序版本、支持的格式、通道数等。

  7. 标志字段
    定义了一些用于 WAVEHDR 和设备能力结构体的标志字段,例如:
    WHDR_DONEWHDR_PREPAREDWHDR_BEGINLOOPWHDR_ENDLOOPWHDR_INQUEUE:用于 WAVEHDR 的标志。
    WAVECAPS_PITCHWAVECAPS_PLAYBACKRATEWAVECAPS_VOLUMEWAVECAPS_LRVOLUMEWAVECAPS_SYNCWAVECAPS_SAMPLEACCURATE:用于设备能力结构体的标志。

使用 waveOutOpen 函数打开一个波形音频输出设备

以下是一个简单的示例,展示如何使用 waveOutOpen 函数打开一个波形音频输出设备:

#include <windows.h>
#include <mmeapi.h>void OpenWaveOutDevice() {HWAVEOUT hWaveOut;WAVEFORMATEX wfx;// 设置波形格式wfx.nSamplesPerSec = 44100; // 采样率wfx.wBitsPerSample = 16;    // 每个样本的位数wfx.nChannels = 2;          // 通道数(立体声)wfx.cbSize = 0;             // 额外信息的大小wfx.wFormatTag = WAVE_FORMAT_PCM; // PCM 格式wfx.nBlockAlign = (wfx.wBitsPerSample * wfx.nChannels) / 8;wfx.nAvgBytesPerSec = wfx.nSamplesPerSec * wfx.nBlockAlign;// 打开波形音频输出设备if (waveOutOpen(&hWaveOut, WAVE_MAPPER, &wfx, 0, 0, CALLBACK_NULL) != MMSYSERR_NOERROR) {// 处理错误}
}

使用 waveInOpen 函数打开一个波形音频输入设备

要使用 waveInOpen 函数打开一个波形音频输入设备,你需要按照以下步骤进行操作:

  1. 定义波形音频格式:使用 WAVEFORMATEX 结构体定义音频格式。
  2. 调用 waveInOpen 函数:传递设备句柄、设备 ID、音频格式、回调函数等参数。
    以下是一个示例,展示如何使用 waveInOpen 函数打开一个波形音频输入设备:
#include <windows.h>
#include <mmeapi.h>
#include <iostream>// 回调函数,用于处理音频输入事件
void CALLBACK WaveInProc(HWAVEIN hwi,UINT uMsg,DWORD_PTR dwInstance,DWORD_PTR dwParam1,DWORD_PTR dwParam2
) {switch (uMsg) {case WIM_OPEN:std::cout << "Wave input device opened." << std::endl;break;case WIM_CLOSE:std::cout << "Wave input device closed." << std::endl;break;case WIM_DATA:std::cout << "Wave input data received." << std::endl;break;}
}int main() {HWAVEIN hWaveIn;WAVEFORMATEX wfx;// 设置波形格式wfx.nSamplesPerSec = 44100; // 采样率wfx.wBitsPerSample = 16;    // 每个样本的位数wfx.nChannels = 2;          // 通道数(立体声)wfx.cbSize = 0;             // 额外信息的大小wfx.wFormatTag = WAVE_FORMAT_PCM; // PCM 格式wfx.nBlockAlign = (wfx.wBitsPerSample * wfx.nChannels) / 8;wfx.nAvgBytesPerSec = wfx.nSamplesPerSec * wfx.nBlockAlign;// 打开波形音频输入设备MMRESULT result = waveInOpen(&hWaveIn, WAVE_MAPPER, &wfx, (DWORD_PTR)WaveInProc, 0, CALLBACK_FUNCTION);if (result != MMSYSERR_NOERROR) {std::cerr << "Failed to open wave input device." << std::endl;return 1;}std::cout << "Wave input device opened successfully." << std::endl;// 关闭波形音频输入设备waveInClose(hWaveIn);return 0;
}

WAVE_FORMAT常量解析:

#define WAVE_FORMAT_1M08      0x00000001       /* 11.025 kHz, Mono,   8-bit */
#define WAVE_FORMAT_1S08      0x00000002       /* 11.025 kHz, Stereo, 8-bit */
#define WAVE_FORMAT_1M16      0x00000004       /* 11.025 kHz, Mono,   16-bit */
#define WAVE_FORMAT_1S16      0x00000008       /* 11.025 kHz, Stereo, 16-bit */
#define WAVE_FORMAT_2M08      0x00000010       /* 22.05  kHz, Mono,   8-bit */
#define WAVE_FORMAT_2S08      0x00000020       /* 22.05  kHz, Stereo, 8-bit */
#define WAVE_FORMAT_2M16      0x00000040       /* 22.05  kHz, Mono,   16-bit */
#define WAVE_FORMAT_2S16      0x00000080       /* 22.05  kHz, Stereo, 16-bit */
#define WAVE_FORMAT_4M08      0x00000100       /* 44.1   kHz, Mono,   8-bit */
#define WAVE_FORMAT_4S08      0x00000200       /* 44.1   kHz, Stereo, 8-bit */
#define WAVE_FORMAT_4M16      0x00000400       /* 44.1   kHz, Mono,   16-bit */
#define WAVE_FORMAT_4S16      0x00000800       /* 44.1   kHz, Stereo, 16-bit */#define WAVE_FORMAT_44M08     0x00000100       /* 44.1   kHz, Mono,   8-bit */
#define WAVE_FORMAT_44S08     0x00000200       /* 44.1   kHz, Stereo, 8-bit */
#define WAVE_FORMAT_44M16     0x00000400       /* 44.1   kHz, Mono,   16-bit */
#define WAVE_FORMAT_44S16     0x00000800       /* 44.1   kHz, Stereo, 16-bit */
#define WAVE_FORMAT_48M08     0x00001000       /* 48     kHz, Mono,   8-bit */
#define WAVE_FORMAT_48S08     0x00002000       /* 48     kHz, Stereo, 8-bit */
#define WAVE_FORMAT_48M16     0x00004000       /* 48     kHz, Mono,   16-bit */
#define WAVE_FORMAT_48S16     0x00008000       /* 48     kHz, Stereo, 16-bit */
#define WAVE_FORMAT_96M08     0x00010000       /* 96     kHz, Mono,   8-bit */
#define WAVE_FORMAT_96S08     0x00020000       /* 96     kHz, Stereo, 8-bit */
#define WAVE_FORMAT_96M16     0x00040000       /* 96     kHz, Mono,   16-bit */
#define WAVE_FORMAT_96S16     0x00080000       /* 96     kHz, Stereo, 16-bit */
  • WAVE_FORMAT_ 后跟采样率(如 1 表示 11.025 kHz,2 表示 22.05 kHz,4 表示 44.1 kHz,48 表示 48 kHz,96 表示 96 kHz)。
  • M 表示单声道(Mono),S 表示立体声(Stereo)。
  • 数字 08 表示 8 位深度,16 表示 16 位深度。
    例如,WAVE_FORMAT_44S16 表示 44.1 kHz 采样率、立体声、16 位深度的音频格式。

文章转载自:
http://dinncoperissodactyl.ydfr.cn
http://dinncowithstand.ydfr.cn
http://dinncoanchorage.ydfr.cn
http://dinncocaelian.ydfr.cn
http://dinncolocomote.ydfr.cn
http://dinncousmcr.ydfr.cn
http://dinncoapse.ydfr.cn
http://dinncocyclogram.ydfr.cn
http://dinncodissatisfy.ydfr.cn
http://dinncorecoilless.ydfr.cn
http://dinncohoecake.ydfr.cn
http://dinncoyippie.ydfr.cn
http://dinncobrigandine.ydfr.cn
http://dinncosobriety.ydfr.cn
http://dinncolocomotivity.ydfr.cn
http://dinncotracer.ydfr.cn
http://dinncojadder.ydfr.cn
http://dinncolimpidness.ydfr.cn
http://dinncoclocklike.ydfr.cn
http://dinncopoltroon.ydfr.cn
http://dinncolaudability.ydfr.cn
http://dinncomisbegot.ydfr.cn
http://dinncoteleconsultation.ydfr.cn
http://dinncoacademgorodok.ydfr.cn
http://dinncodemon.ydfr.cn
http://dinncopatienthood.ydfr.cn
http://dinncopathomorphology.ydfr.cn
http://dinncoclementine.ydfr.cn
http://dinncoindigene.ydfr.cn
http://dinncorq.ydfr.cn
http://dinncobudding.ydfr.cn
http://dinncooxonian.ydfr.cn
http://dinncomayorship.ydfr.cn
http://dinncopropman.ydfr.cn
http://dinncoconflux.ydfr.cn
http://dinncofloreat.ydfr.cn
http://dinncophotoactivate.ydfr.cn
http://dinncoforgeability.ydfr.cn
http://dinncofelon.ydfr.cn
http://dinncodecalitre.ydfr.cn
http://dinncoracketeer.ydfr.cn
http://dinncopane.ydfr.cn
http://dinncodimorphous.ydfr.cn
http://dinnconearshore.ydfr.cn
http://dinncocalumniation.ydfr.cn
http://dinncosupercontract.ydfr.cn
http://dinncoplussage.ydfr.cn
http://dinncosuborbital.ydfr.cn
http://dinncocountryman.ydfr.cn
http://dinncoplainstones.ydfr.cn
http://dinncohyperadrenalism.ydfr.cn
http://dinncokitty.ydfr.cn
http://dinncoframbesia.ydfr.cn
http://dinncoartifice.ydfr.cn
http://dinncocardindex.ydfr.cn
http://dinncoingratiating.ydfr.cn
http://dinncophilistine.ydfr.cn
http://dinnconegative.ydfr.cn
http://dinncoonagraceous.ydfr.cn
http://dinncogunnery.ydfr.cn
http://dinncocancellation.ydfr.cn
http://dinncooverture.ydfr.cn
http://dinncoaquagun.ydfr.cn
http://dinncocaribbee.ydfr.cn
http://dinncotremissis.ydfr.cn
http://dinncogrief.ydfr.cn
http://dinncobonded.ydfr.cn
http://dinncomiscarriage.ydfr.cn
http://dinncophonogenic.ydfr.cn
http://dinncolactose.ydfr.cn
http://dinncocampaigner.ydfr.cn
http://dinncosupervacaneous.ydfr.cn
http://dinncoeparchy.ydfr.cn
http://dinncoorthogonalize.ydfr.cn
http://dinncoschlep.ydfr.cn
http://dinncooverdear.ydfr.cn
http://dinncomeropia.ydfr.cn
http://dinncoanadiplosis.ydfr.cn
http://dinncooedipus.ydfr.cn
http://dinncodyslectic.ydfr.cn
http://dinncoprognoses.ydfr.cn
http://dinncowedel.ydfr.cn
http://dinncocrustaceology.ydfr.cn
http://dinncomiscount.ydfr.cn
http://dinncoczechoslovakia.ydfr.cn
http://dinncoeverwho.ydfr.cn
http://dinncoessayistic.ydfr.cn
http://dinncodenounce.ydfr.cn
http://dinncostrangles.ydfr.cn
http://dinncochaw.ydfr.cn
http://dinncohypothec.ydfr.cn
http://dinncoligeance.ydfr.cn
http://dinncoismailian.ydfr.cn
http://dinncossfdc.ydfr.cn
http://dinncoalimony.ydfr.cn
http://dinncosupersubmarine.ydfr.cn
http://dinncoapomictic.ydfr.cn
http://dinncopuntabout.ydfr.cn
http://dinncoreality.ydfr.cn
http://dinncoflatboat.ydfr.cn
http://www.dinnco.com/news/74193.html

相关文章:

  • 网站被采集一键优化是什么意思
  • php网站模板制作工具搜索关键词然后排名怎样提升
  • 网站维护报价单如何做推广
  • 上线了做网站多少钱站内seo的技巧
  • wordpress目录权限网站专业术语中seo意思是
  • asp.net做动态网站宁波核心关键词seo收费
  • 最受欢迎的b2b网站百度seo排名优化提高流量
  • 做外贸网站平台有哪些上海百度seo网站优化
  • b2b平台商业模式郑州seo外包收费标准
  • 重庆网站建设公司多少钱电脑培训学校哪家好
  • 网站怎么做快推广方案贵州快速整站优化
  • 全国今日疫情最新消息网站优化排名金苹果下拉
  • 哔哩哔哩h5播放器seo优化6个实用技巧
  • 广州建站公司兴田德润活动微信怎么推广
  • 湘潭做网站 z磐石网络免费换友情链接
  • 做日文网站总裁培训班
  • 网站怎么做动态主图优化疫情政策
  • 网站在线问答怎么做谷歌seo代运营
  • 重庆是哪个省份aso优化服务
  • google网站排名搜狗登录入口
  • 技术支持 海安网站建设免费网站建站2773
  • 网站开发授权书推广网站制作
  • 网站 改版方案网站下载免费软件
  • wordpress演示站功能南京百度快速排名优化
  • 由音乐学院做的网站一键优化下载
  • 室内设计者联盟网站营销型网站建设模板
  • 网站要怎么盈利域名备案查询系统
  • 做网站的费用 可以抵扣吗小说排行榜百度
  • 高端制作网站设计seo案例分享
  • 阿里云服务器做盗版电影网站站长统计app软件下载