已阅读5页,还剩84页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章数字音频处理 本章重点 模拟音频与数字音频的概念数字音频的获取音频信号压缩编码标准音乐合成和语音识别 第2章数字音频处理 2 1概述2 2数字音频的获取2 3音频信号压缩编码标准2 4音乐合成和MIDI2 5语音识别2 6实例VC 播放声音的实现2 7本章小结 2 1概述 声音是携带信息的重要媒体 研究表明 人类从外部世界获取的信息中 10 是通过听觉获得的 因此声音是多媒体技术研究中的一个重要内容 声音是由物体振动产生的 这种振动引起周围空气压强的振荡 从而使耳朵产生听觉的印象 声音的种类繁多 人的语音是最重要的声音 此外 还有动物 乐器等发出的声音 风声 雨声 雷声等自然声音 以及机器合成产生的声音等 2 1概述 幅值 t 一个周期 空气压强 图2 1空气压强振荡的波形示意图 0 人耳能识别的声音频率范围大约在20 20kHz 通常称为音频 audio 信号 2 1概述 声音包含三个要素 音调 音强和音色 基频与音调 一个声源每秒钟可产生成百上千个波 通常把每秒钟波峰所产生的数目称之为信号的频率 单位用赫兹 Hz 或千赫兹 kHz 表示 人对声音频率的感觉表现为音调的高低 在音乐中称为音高 音调正是由频率 所决定的 2 1概述 音乐中音阶的划分是在频率的对数坐标 20 log 上取等分而得的 如表所示 20 log261 48 3 20 log293 49 3等 2 1概述 谐波与音色 n o称为基波 o的n次谐波分量 n就是高次谐波的方次 n o就是基波 o的n次谐波 也称为泛音 音色是由混入基音的泛音所决定的 幅度与音强 信号的幅度是从信号的基线到当前波峰的距离 幅度决定了信号音量的强弱程度 幅度越大 声音越强 一般用动态范围定义相对强度 动态范围 20 log 信号的最大强度 信号的最小强度 dB 2 1概述 音宽与频带 频带宽度 也称为带宽 它是描述组成复合信号的频率范围 客观上 通常用频带宽度 动态范围 信噪比等指标衡量音频信号的质量 音频信号的频带越宽 所包含的音频信号分量越丰富 音质越好 动态范围越大 信号强度的相对变化范围越大 音响效果越好 CD DA数字音乐 FM广播 AM广播和电话的带宽 1020502003 4 K7K15K22Kf Hz 电话 AM 广播 CD DA FM 广播 图 2 3 几种音频业务的频带宽度 1020502003 4K 7K15K22Kf Hz 电话 AM 广播 CD DA FM 广播 图 2 3 几种音频业务的频带宽度 2 1概述 声音的质量可以通过信噪比来度量 信噪比 SNR SignaltoNoiseRatio 是有用信号与噪声之比的简称 定义为 信噪比越大 声音质量越好 2 2数字音频的获取 2 2 1采样2 2 2量化2 2 3数字音频的技术指标2 2 4数字音频的文件格式 音频信息处理结构框图 2 2 1采样 图2 5模拟信号的采样 所谓采样就是在某些特定的时刻对模拟信号进行取值 如上图所示 采样的过程是每隔一个时间间隔在模拟声音的波形上取一个幅值 把时间上的连续信号变成时间上的离散信号 2 2 1采样 采样时间间隔称为采样周期t 其倒数为采样频率fs 1 t 一般来讲 采样频率越高 则在单位时间内计算机得到的声音样本数据就越多 对声音波形的表示也越精确 声音失真越小 但用于存储音频的数据量越大 根据奈奎斯特定理 只有采样频率高于声音信号最高频率的两倍时 才能把数字信号表示的声音还原为原来的声音 2 2 2量化 每个采样值在幅度上进行离散化处理的过程称为量化 量化可分为均匀量化和非均匀量化 均匀量化是把将采样后的信号按整个声波的幅度等间隔分成有限个区段 把落入某个区段内的样值归为一类 并赋于相同的量化值 以8bit或16bit的方式来划分纵轴为例 其纵轴将会被划分为28个和216个量化等级 用以记录其幅度大小 均匀量化 2 2 2量化 非均匀量化是根据信号的不同区间来确定量化间隔 对于信号值小的区间 其量化间隔也小 反之 量化间隔就大 量化会引入失真 并且量化失真是一种不可逆失真 这就是通常所说的量化噪声 模拟信号经过采样和量化 形成一系列离散信号 这种数字信号可以以一定方式进行编码 形成计算机内部存储运行的数据 经过编码后的声音信号就是数字音频信号 2 2 3数字音频的技术指标 衡量数字音频的主要指标包括 采样频率量化位数通道 声道 个数数据传输率是计算机处理时基本参数 未经压缩的数字音频数据传输率可按下式计算 数据传输率 采样频率 量化位数 声道数 2 2 3数字音频的技术指标 例 假定语音信号的带宽是50Hz 10kHz 而音乐信号的是15Hz 20kHz 采用奈奎斯特频率 并用12bit表示语音信号样值 用16bit表示音乐信号样值 计算这两种信号数字化以后的比特率以及存储一段10分钟的立体声音乐所需要的存储器容量 解 语音信号 取样频率 2 10kHz 20kHz 比特率 20k 12 240kbit s音乐信号 取样频率 2 20kHz 40kHz 比特率 40k l6bit s 2 1280kbit s 立体声 双声道 所需存储空间 1280k 600 8 96MB 2 2 4数字音频的文件格式 WAV文件格式简介WAV是MicrosoftWindows提供的音频格式 这个格式是目前通用音频格式 它通常用来保存一些没有压缩的音频 目前所有的音频播放软件和编辑软件都支持这一格式 WAV文件由三部分组成 文件头 标明是WAV文件 文件结构和数据的总字节数 数字化参数 如采样频率 声道数 编码算法等 最后是实际波形数据 一般来说 声音质量与其WAV格式的文件大小成正比 WAVE WaveformAudioFileFormat 文件是多媒体中使用的声音文件格式之一 它以RIFF格式为基础 每个WAVE文件的头四个字节为 RIFF WAVE文件的扩展名为 WAV WAVE文件格式 WAVE文件格式 Format块 Sound数据块 RIFFWAVEChunk WAVE文件由文件头和数据两部分组成 最小的WAVE文件结构 RIFFWAVEChunk groupID RIFF riffType WAVE FormatChunk ckID fmt SoundDataChunk ckID data RIFFWAVE块头 块标志 RIFF 块大小 32 bits Wave类型标志 WAVE TheFormat fmt Chunk格式块 fmt 是WAVE文件必选项 描述波形文件的基本参数 如采样率 位分辨率以及通道数等 defineFormatID fmt chunkIDforFormatChunk typedefstruct IDchunkID longchunkSize shortwFormatTag currentlyPCM unsignedshortwChannels numofchannels unsignedlongdwSamplesPerSec samplerateinHz unsignedlongdwAvgBytesPerSec xxxBytes s unsignedshortwBlockAlign 1 2 4 8 16mono stereo unsignedshortwBitsPerSample bitsinasample 根据wFormatTag不同 可以有附加字段 FormatChunk DataChunk数据块包含实际的波形数据 defineDataID data chunkIDfordataChunk typedefstruct IDchunkID longchunkSize unsignedcharwaveformData DataChunk OffsetDescription OffsetContents 0 x00chunkid RIFF 0 x04chunksize 32 bits 0 x08wavechunkid WAVE 0 x0Cformatchunkid fmt 0 x10formatchunksize 32 bits 0 x14formattag currentlyPCM 0 x16numberofchannels1 mono 2 stereo0 x18samplerateinHz0 x1Caveragebytespersecond OffsetContents 0 x20numberofbytespersample1 8 bitmono2 8 bitstereoor16 bitmono4 16 bitstereo0 x22numberofbitsinasample0 x24datachunkid data 0 x28lengthofdatachunk 32 bits 0 x2CSampledata 2 2 4数字音频的文件格式 MP3文件格式简介MP3是第一个实用的有损音频压缩编码技术 在MP3出现之前 一般的音频编码即使以有损方式进行压缩 能达到4 1的压缩比例已经非常不错了 但是 MP3可以实现12 1的压缩比例 衡量MP3文件的压缩比例通常使用比特率来表示 通常比特率越高 压缩文件就越大 但音乐中获得保留的成分就越多 音质就越好 2 2 4数字音频的文件格式 MIDI文件格式简介MIDI最初应用在电子乐器上用来记录乐手的弹奏 以便以后重播 随着在电脑里面引入了支持MIDI合成的声音卡之后 MIDI才正式地成为了一种音频格式 MIDI的内容除了乐谱之外还记录了每个音符的弹奏方法 2 2 4数字音频的文件格式 各种文件格式与WAV格式之间可以进行转换 最简单的方法就是使用WINAMP 只要WINAMP能播放某种格式的音乐 就可以通过它的OutputPlugin中的DiskWriterPlugin来输出为WAV文件 目前WINAMP支持的格式包括 VOC WAV MID MP3 MP2 MP1 CD IT XM S3M STM MOD DSM FAR ULT MTM 669 AS WMA MJF 2 3音频信号压缩编码 2 3 1概述2 3 3音频数据的标准 为什么要进行语音编码 随着对音质要求的增加 信号频率范围逐渐增加 要求描述信号的数据量也就随之增加 从而带来处理这些数据的时间和传输 存储这些数据的容量增加 因此多媒体音频压缩技术是多媒体技术实用化的关键之一 2 3 1概述 根据解压后数据是否有失真可以将音频压缩分为无损压缩 无失真压缩 和有损压缩 有失真压缩 无损压缩的压缩效率低 但是可以无失真地重现原始数据 无损压缩的压缩效率较高 但有数据丢失 2 3 1概述 音频信息编码技术主要可分为三类 波形编码 这种方法主要基于语音波形预测 它力图使重建的语音波形保持原有的波形状态 常用的波形编码技术有增量调制 DM 自适应差分脉冲编码调制 ADPCM 子带编码 SBC 和矢量量化编码 VQ 等等 2 3 1概述 波形编码的特点是在高码率的条件下获得高质量的音频信号 适用于高保真度语音和音乐信号的压缩技术 它的优点是编码方法简单 易于实现 适应能力强 语音质量好等 缺点是压缩比相对来说较低 需要较高的编码速率 2 3 1概述 参数编码 参数编码的方法是将音频信号以某种模型表示 再抽出合适的模型参数和参考激励信号进行编码 声音重放时 再根据这些参数重建即可 显然参数编码压缩比很高 但计算量大 它主要用于在窄带信道上提供4 8kb s以下的低速语音通信和一些对延时要求较宽的应用场合 如卫星通信等 最常用的参数编码法为线性预测 LPC 编码 2 3 1概述 混合编码 这种方法克服了原有波形编码与参数编码的弱点 并且结合了波形编码的高质量和参数编码的低数据率 取得了比较好的效果 混合编码是指同时使用两种或两种以上的编码方法进行编码的过程 由于每种编码方法都有自己的优势和不足 若是用两种或两种以上的编码方法进行编码 可以优势互补 克服各自的不足 从而达到高效数据压缩的目的 2 3 3音频数据的标准 从数据通信的角度 音频编码标准主要有三种 在电话传输系统中应用的电话质量的音频压缩编码技术标准 如PCM ITUG 711 等 在窄带综合服务数据网传送中应用的调幅广播质量的音频压缩编码技术标准 如G 722等 在电视传输系统 视频点播系统中应用的音频编码标准 如MPEG音频标准等 2 3 3音频数据的标准 电话质量的音频压缩编码技术标准G 711标准是1972年CCITT 现称为ITU T 制定的PCM语音标准 采样频率为8kHz 每个样本值用8位二进制编码 因此输出的数据率64kb s 2 3 3音频数据的标准 调幅广播质量的音频压缩编码技术标准调幅广播质量音频信号的频率在50Hz 7kHz范围 CCITT在1988年制定了G 722标准 G 722标准是采用16kHz采样 14bit量化 信号数据速率为224kbit s 2 3 3音频数据的标准 高保真度立体声音频压缩编码技术标准高保真立体声音频信号频率范围是50Hz 20kHz 采用44 1kHz采样频率 16bit量化进行数字化转换 其数据速率每声道705kbit s 为了制定一套通用的视频和声音编码方案 ISO IEC标准组织成立了ISO IEC JTC1 SC29 WG11 即运动图像专家组 MovingPictureExpertsGroup MPEG 它开发了一系列标准 如MPEG 1 MPEG 2 MPEG 4 MPEG 7 MPEG 21等 MPEG 1于1992年11月完成 其中ISO11172 3作为 MPEG音频 标准 成为国际上公认的高保真立体声音频压缩标准 2 3 3音频数据的标准 MPEG 2也定义了音频标准 由两部分组成 即MPEG 2音频 ISO IEC13818 3 和MPEG 2AAC 先进的音频编码 ISO IEC13818 7 MPEG 2音频编码标准是对MPEG 1向后兼容的 支持二至五声道的后继版本 MPEG 4的音频部分国际标准号是ISO IEC14496 3 可集成从话音到高质量的多通道声音 从自然声音到合成声音 合成部分的组合工具可以实现对音乐和语音按符号进行定义 它包括MIDI系统和文本 语音转换系统 此外 它还包括对声音的三维空间定位工具 可以利用人工音源和自然音源人为地制造出声音 MPEG 7Audio标准提供了音频描述工具 2 3 3音频数据的标准 AAC AdvancedAudioCoding 中文称为 先进音频编码 出现于1997年 最初是基于MPEG 2的音频编码技术 由FraunhoferIIS DolbyLaboratories 杜比实验室 AT T 美国电话电报公司 Sony 索尼 等公司共同开发 目的是取代MP3格式 2000年 MPEG 4标准出台 AAC重新集成了其特性 加入了SBR技术和PS技术 为区别于传统的MPEG 2AAC 故含有SBR或PS特性的AAC又称为MPEG 4AAC 2 3 3音频数据的标准 作为一种高压缩比的音频压缩算法 AAC压缩比通常为18 1 远胜mp3 在音质方面 由于采用多声道 和使用低复杂性的描述方式 使其比几乎所有的传统编码方式在同规格的情况下更胜一筹 不过直到2006年 使用这一格式储存音乐的并不多 可以播放该格式的mp3播放器更是少之又少 目前所知仅有苹果iPod SonyWalkman NWZ A NWZ S NWZ E NWZ X系列 任天堂NDSi 此外计算机上很多音乐播放软体都支持AAC 前提是安装过AAC解码器 如苹果iTunes 但在移动电话领域 AAC的支持度已很普遍 Nokia SonyEricsson Motorola等品牌均在其中高端产品中支持AAC 2 4音乐合成和MIDI 2 4 1概述2 4 2计算机上合成音乐的产生过程2 4 3MIDI音乐合成器 2 4 1概述 数字音频实际上是一种数字式录音 重放的过程 它需要很大的数据量 在多媒体系统中 除了用数字音频的方式之外 还可以用采样合成的方式产生音乐 音乐合成的方式是根据一定的协议标准 采用音乐符号记录方法来记录和解释乐谱 并合成相应的音乐信号 这也就是MIDI MusicalInstrumentDigitalInterface 方式 2 4 1概述 MIDI是乐器数字接口的缩写 泛指数字音乐的国际标准 它是音乐与计算机结合的产物 MIDI不是把音乐的波形进行数字化采样和编码 而是将数字式电子乐器弹奏过程记录下来 如按了哪一个键 力度多大 时间多长等 当需要播放这首乐曲时 根据记录的乐谱指令 通过音乐合成器生成音乐声波 经放大后由扬声器播出 2 4 1概述 音乐合成器生成音乐采用MIDI文件存储 MIDI文件是用来记录音乐的一种文件格式 文件后缀是 mid 或者 midi 这种文件格式非常特殊 其中记录的不是音频数据 而是演奏音乐的指令 不同的指令与不同的乐器对应 就像乐队演奏交响曲一样 每一种乐器发出不同的声音 合在一起组成了听众听到的音乐 2 4 1概述 一个MIDI文件包括一个头块和若干个轨迹块 每个轨迹块中可以包含若干个指令 每个指令的基本格式是一样的 在基本格式的基础上各个指令有所差别 指令可以用来记录一个声音 一个系统命令等内容 2 4 2计算机上合成音乐的产生过程 MIDI音乐的产生过程如图 图2 12MIDI音乐的产生过程示意图 MIDI指令 MIDI乐器 MIDI接口 合成器 扬声器 音序器 MIDI文件 音频卡 PC机 2 4音乐合成和MIDI 把MIDI指令送到合成器 由合成器产生相应的声音 MIDI标准提供了16个通道 按照所用通道数的不同 合成器又可分成基本型和扩展型两种 如下表所示 2 4音乐合成和MIDI MIDI合成的产生方式有两种 FM frequencyModulation 合成和波形表 wavetable 合成 FM是使高频振荡波的频率按调制信号规律变化的一种调制方式 FM频率调制合成是通过硬件产生正弦信号 再经处理合成音乐 合成的方式是将波形组合在一起 2 4音乐合成和MIDI 目前较高级的音频卡一般都采用波形表合成方式 波形表的原理是在ROM中已存储各种实际乐器的声音采样 当需要合成某种乐器的声音时 调用相应的实际声音采样合成该乐器的乐音 显然 ROM存储器的容量越大 合成的效果越好 但价格也越贵 2 5语音识别 2 5 1文本 语音TTS技术2 5 2语音识别系统实例 IBMViaVoice 2 5 1文本 语音TTS技术 TTS的基本概念文语转换 Text to Speech 是将文本形式的信息转换成自然语音的一种技术 其最终目标是力图使计算机能够以清晰自然的声音 以各种各样的语言 甚至以各种各样的情绪来朗读任意的文本 也就是说 要使计算机具有像人一样 甚至比人更强的说话能力 因而它是一个十分复杂的问题 涉及到语言学 韵律学 语音学 自然语言处理 信号处理 人工智能等诸多的学科 2 5 1文本 语音TTS技术 TTS分为综合的和连贯的两种类型 综合的语音就是通过分析单词 由计算机确认单词的发音 然后这些音素就被输入到一个复杂的模仿人声音并发声的算法 这样就可以读文本了 通过这种方式 TTS就能读出任何单词 甚至自造的词 但是它发出的声音不带任何感情 带有明显的机器语音味道 2 5 1文本 语音TTS技术 连贯语音系统分析文本从预先备好的文库里抽出单词和词组的录音 数字化录音是连贯的 因为声音是事先录制的语音 听起来很舒服 遗憾的是 如果文本包含没有录的词和短语 TTS就读不出来了 连贯TTS可以被看成是一种声音压缩形式 因为单词和常用的短语只能录一次 连贯TTS会节省开发时间并减少错误 使软件增加相应的功能 2 5 1文本 语音TTS技术 TTS系统的组成与工作过程汉语TTS系统有3个主要的组成部分 文本分析模块 韵律分析模块 语音生成模块 TTS的基本工作过程是 输入的汉字文本经语言学和语音学处理 得到语流的控制参数 然后读取语音数据库 再经语音信号处理 输出连续的语音 2 5 1文本 语音TTS技术 TTS的应用领域文语转换在各种计算机相关领域中有着广泛的应用前景 除了人 机交互外 TTS系统在医疗 教育 通信 信息 家电等领域也具有相当广泛的用途 2 5 2语音识别系统实例 IBMViaVoice 语音识别是把输入的语音信号经过数字信号处理后得到一组特征参数 然后将这组特征参数与预存的模板进行比较 从而确定说话者所说内容的一门新的声音识别技术 2 5 2语音识别系统实例 IBMViaVoice 语音识别系统可根据不同的分类方式及依据 分为以下三类 根据对说话人说话方式的要求 可以分为孤立字 词 语音识别系统 连接字语音识别系统以及连续语音识别系统 根据对说话人的依赖程度可以分为特定人和非特定人语音识别系统 2 5 2语音识别系统实例 IBMViaVoice 根据词汇量大小 可以分为小词汇量 中等词汇量 大词汇量以及无限词汇量语音识别系统 语音识别技术主要包括特征提取技术 模式匹配准则及模型训练技术三个方面 此外 还涉及到语音识别单元的选取 2 5 2语音识别系统实例 IBMViaVoice 在语音识别领域 IBM在世界上一直处于领先地位 迄今为止 共有十三种语言的连续语音识别产品 1997年9月 IBM推出了ViaVoice中文连续语音识别系统 它成功地解决了汉语同音字多 有声调 口音复杂等难题 在1999年底推出的ViaVoice中文语音识别系统 除了具有非特定人 无限词汇量 连续语音识别 高识别率 专业文章智能分析 理解等强大的语音功能外 还为上网用户提供了轻松上网的功能 2 5 2语音识别系统实例 IBMViaVoice IBMViaVoice改变了传统模式 可以用语音向计算机发出命令 录入汉字 标点符号 ViaVoice的功能是在称之为 语音中心 的选项下 通过一个下拉式菜单来实现的 主要包括 听写输入和命令导航 ViaVoice只是一个普及型产品 它可以满足人们日常的要求 如果再进一步发展ViaVoice所采用的技术 可以以ViaVoice系统为平台 继续发展 2 6实例VC 播放声音的实现 实现音频分析的基础是对音频文件的解析 尽管音频文件的存储格式很多 但基本原理是一致的 因此 本节以wav文件为例 介绍VC 环境中如何实现声音文件的播放 在VC 中可以根据不同的应用要求 用不同的方法实现声音的播放 第一种方法可以直接调用声音播放函数 第二种方法可以把声音作为资源加入可执行文件中 第三种方法是对声音播放的高级处理 这种方法在播放之前可以对声音数据进行处理 2 6实例VC 播放声音的实现 直接调用声音播放函数如果只需要简单的播放声音文件 在VC 中的多媒体动态链接库中提供了一组与音频设备有关的函数 利用这些函数可以方便地播放声音 最简单的播放声音方法就是直接调用VC 中提供的声音播放函数 BOOLsndPlaySound LPCSTRlpszSound UINTfuSound 2 6实例VC 播放声音的实现 或BOOLPlaySound LPCSTRlpszSound HMODULEhmod DWORDfuSound 其中参数lpszSound是需要播放声音的 WAV文件的路径和文件名 hmod在这里为NULL fuSound是播放声音的标志 例如播放C sound music wav可以用 sndPlaySound c sound music wav SND ASYNC 或PlaySound c sound music wav NULL SND ASYNC SND NODEFAULT 如果没有找到music wav文件 第一种格式将播放系统默认的声音 第二种格式不会播放系统默认的声音 2 6实例VC 播放声音的实现 声音文件作为资源进行播放第一种播放方法是在播放时调用下面的语句 PlaySound MAKEINTRESOURCE IDR WAVE1 AfxGetResourceHandle SND ASYNC SND RESOURCE SND NODEFAULT SND LOOP 其中MAKEINTRESOURCE 宏将整数资源标识符转变为字符串 AfxGetResourceHandle 函数返回包含资源的模块句柄 SND RESOURCE是必须的标志 2 6实例VC 播放声音的实现 第二种播放方法是把资源读入内存后作为内存数据播放 具体步骤如下 1 获得包含资源的模块句柄 HMODULEhmod AfxGetResourceHandle 2 检索资源块信息 HRSRChSndResource FindResource hmod MAKEINTRESOURCE IDR WAVE1 T WAVE 3 装载资源数据并加锁 HGLOBALhGlobalMem LoadResource hmod hSndResource LPCTSTRlpMemSound LPCSTR LockResource hGlobalMem 2 6实例VC 播放声音的实现 4 播放声音文件 sndPlaySound lpMemSound SND MEMORY 5 释放资源句柄 FreeResource hGlobalMem 2 6实例VC 播放声音的实现 对声音处理后播放首先介绍几个要用到的数据结构 WAVEFORMATEX结构定义了WAV音频数据文件的格式 WAVEHDR结构定义了波形音频缓冲区 读出的数据首先要填充此缓冲区才能送音频设备播放 WAVEOUTCAPS结构描述了音频设备的性能 MMCKINFO结构包含了RIFF文件中一个块的信息 2 6实例VC 播放声音的实现 下面给出程序源代码清单 在VC 环境下可直接使用 源程序清单如下 LPSTRszFileName 声音文件名MMCKINFOmmckinfoParent MMCKINFOmmckinfoSubChunk DWORDdwFmtSize HMMIOm hmmio 音频文件句柄 2 6实例VC 播放声音的实现 DWORDm WaveLong HPSTRlpData 音频数据HANDLEm hData HANDLEm hFormat WAVEFORMATEX lpFormat DWORDm dwDataOffset DWORDm dwDataSize WAVEHDRpWaveOutHdr WAVEOUTCAPSpwoc HWAVEOUThWaveOut 2 6实例VC 播放声音的实现 打开波形文件if m hmmio mmioOpen szFileName NULL MMIO READ MMIO ALLOCBUF FileopenErrorError Failedtoopenthefile 错误处理函数returnfalse 检查打开文件是否是声音文件mmckinfoParent fccType mmioFOURCC W A V E if mmioDescend m hmmio LPMMCKINFO mmckinfoParent NULL MMIO FINDRIFF NOTWAVEFILEANDQUIT 2 6实例VC 播放声音的实现 寻找 fmt 块mmckinfoSubChunk ckid mmioFOURCC f m t if mmioDescend m hmmio if m hFormat failedallocmemory 2 6实例VC 播放声音的实现 lpFormat WAVEFORMATEX LocalLock m hFormat if lpFormat failedtolockthememory if unsignedlong mmioRead m hmmio HPSTR lpFormat dwFmtSize dwFmtSize failedtoreadformatchunk 2 6实例VC 播放声音的实现 离开 fmt 块
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师中级职称水平能力测试题库
- 三防三反安全教育课件图片
- 新《安全生产法》考试试题及答案完整题库
- 新疆注册土木工程师:水利水电工程考试题
- 施工人员安全考试题
- 校园保安试题(答案)
- 殡仪服务员职业培训试题及答案
- 公务员行测模拟考试题及答案
- 消毒供应室包装教学课件
- 图解2022政府工作报告全文内容解读
- 现代特色历史街区教案
- 生态环保模块化湿地建设方案
- 2025年国家公务员考试行测试题(含答案)
- 燃气管道勘察与设计方案
- 消防安全生命至上培训课件
- 储罐施工应急预案
- 国家事业单位招聘2025中国农业科学院农业经济与发展研究所招聘笔试笔试历年参考题库附带答案详解
- 2025年宜昌市市直机关公开遴选公务员40人备考考试题库附答案解析
- 2025年国元农业保险股份有限公司安徽分公司校园招聘40人笔试参考题库附带答案详解
- 肺性脑病呼吸支持护理查房
- 韩语教学课件
评论
0/150
提交评论