一、语音接口的使用:

第一步,安装MSSpeech SDK。

MSSpeech SDK可从网络课堂安装,也可在微软公司直接下载,安装完毕后具有了语音处理能力。

安装过程全选默认即可。

安装完毕后,在开始菜单中会增加MS Speech SDK 5.1,选择其中的tools->TTSAPP可用来测试语音安装是否正常

第二步,增加中文处理。

安装中文语言包(可从网络课堂安装,也可在微软公司直接下载)。安装选项可仅选择安装中文语音。安装完毕后可处理中文。
在安装完毕后可从TTSAPP中voice下拉框中找到中文简体。
若希望得到高质量的语音,或希望可处理繁体中文,可选择安装高质量库(网络课堂里有)也可在网上搜索相关语音库。

第三步。在VC6.0中添加相关路径:

进入VC,选择Tools->Options(VC中文版为工具->选项)得到如下对话框。寻找Directories(中文版为路径),在右边选择include路径。双击下方路径表中空行,可输入speechSDK 的include路径。点击右边的 按钮可帮助选择路径。如图。

类似地再添加Library路径:

注意要选择lib目录下的386目录。

第四步 编写程序测试

下例中提供了三个函数。InitVoice初始化朗读,ReleaseVoice结束朗读,必须成对使用。在main函数执行时可多次使用Speak.。两个全局变量是语音需要,勿删除。

二、音乐输出

#include <atlbase.h>
#include <sapi.h>
#include <sphelper.h>CComPtr<ISpVoice>   pVoice;
HRESULT  hr;
int InitVoice()
{CComPtr<IEnumSpObjectTokens> pEnum;CComPtr<ISpObjectToken>        pVoiceToken;int i;::CoInitialize(NULL);if(FAILED(hr=SpEnumTokens(SPCAT_VOICES,L"Language=804",NULL,&pEnum)))return 0;for(i=0;i<1;i++)  //这里可以根据已安装的语音库,多循环几次以变更语音{pVoiceToken.Release();pEnum->Next(1, &pVoiceToken, NULL);}if(FAILED(hr=pVoice.CoCreateInstance(CLSID_SpVoice)))return 0;if(FAILED(hr = pVoice->SetVoice(pVoiceToken)))return 0;return 1;
}
void ReleaseVoice()
{pVoice.Release();CoUninitialize();
}
void Speak(char *Txt)
{CSpDynamicString   s(Txt);pVoice->Speak(s,0,0);
}
void  main(int argc, char* argv[])
{if(!InitVoice())return ;Speak("123中文");ReleaseVoice();
}

使用C语言调用多媒体库来输出音乐有多种方法,这里介绍最简单的WAV波形文件播放.直接使用Win32库函数PlaySound即可播放音乐。

首先向工程中添加库函数的头文件:

#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")
//其次在需要播放的时候,添加PlaySound函数调用:
LPCTSTR path = _T("D:\\mp3\\030 Kaoma_-_Lambada.wav");
PlaySound(path, NULL, SND_FILENAME | SND_ASYNC);

即可播放音乐,当需要停止音乐时,可以用空路径再次调用PlaySound即可.

PlaySound(NULL,NULL, SND_FILENAME | SND_ASYNC);

Windows编程之多媒体相关推荐

  1. windows编程经典书籍

    总结: 大致浏览书中模块代码--实践--寻找书中更细致的原理层面解答 技术这东西需要领悟,读书时,书本告诉你一些东西,然后你去用,才能真正掌握.更多的时候,学习是螺旋上升的过程,开始OVERVIEW ...

  2. Windows编程的几本经典著作

    Windows 程序设计(第5版): Programming Windows (Fifth Edition) 作者:Charles Petzold 此书被认为是Windows编程最好的导论性读本.在1 ...

  3. 如何使对话框中接收到WM_CHAR消息(Windows编程)

    我们大家都知道,对话框是有的时候捕获不到WM_CHAR消息的.比如,你想使对话框里的Edit控件所键入的全部变为大写.我们毫不犹豫的写到:    #include //Declare the Dial ...

  4. 使用c++进行Windows编程中各种操作文件的方法 【转】

    https://www.zhaokeli.com/article/8232.html 使用c++进行Windows编程中各种操作文件的方法 [转] 来源:赵克立博客 分类: C/C++ 标签:--发布 ...

  5. 【Windows编程】系列第三篇:文本字符输出

    2019独角兽企业重金招聘Python工程师标准>>> 上一篇我们展示了如何使用Windows SDK创建基本控件,本篇来讨论如何输出文本字符. 在使用Win32编程时,我们常常要输 ...

  6. Windows编程一日一练(1)

    首先,编程和旅游是我个人人生两大爱好,所以,每天空闲的时候我喜欢敲敲代码,或者看看别人写的程序,实在是很惬意.今天想看看window编程,争取坚持每日一练.        windows程序主要是由微 ...

  7. Windows 编程

    Delphi 利用Object Pascal 和可视控件库(VCL)对底层的Windows API 进行了完美的封装,所以很少需要使用基础Pascal 语言来建立Windows应用程序,也无需直接调用 ...

  8. 一个物理学家学习Windows编程的感受

    最近学习用Visual C++ 作为平台的Windows 编程,感觉到学习这种编程技术的过程与学习物理的思维差异非常大.最明显的,比如对于物理课本,在学习的时候值得一个字一个词的认真去读,有时候需要读 ...

  9. C++,C++编程,Windows编程,MFC

    编程 我们日常生活中接触到的电子类产品中的应用都是由编程而来 为什么编程,偷懒 我们通过编程驱使(指挥,命令)的是电信号 为什么上面说编程是偷懒,电的发现,给人们带来了便利,人们在各个方面驱使(换成& ...

最新文章

  1. 【数据挖掘】关联规则挖掘 Apriori 算法 ( 关联规则性质 | 非频繁项集超集性质 | 频繁项集子集性质 | 项集与超集支持度性质 )
  2. Linux系统的日志管理
  3. 不等双十一,ChemDraw降价活动已经打开!
  4. 技术人员是如何分析游戏环境的? 《影之诗》牌组趋势分析
  5. Spring框架—SpringBean源码分析
  6. flowable 表结构大全
  7. 【Linux】awk指令
  8. iOS Core Animation学习总结(2)--实现自定义图层
  9. 多线程下单例模式:懒加载(延迟加载)和即时加载
  10. 1042. Shuffling Machine
  11. blktrace 深度了解linux系统的IO运作
  12. android定位坑简书,android webview 定位问题
  13. 淘宝/天猫api 添加收货地址 API接口
  14. PS 一寸照换底
  15. 惠普m227fdw引擎通信错误_惠普m227fdw/m132nw提示耗材余量错误解决方案
  16. Spring注解开发
  17. 1990年图灵奖--费尔南多·考巴脱简介
  18. 成都锦里VS宽窄巷子
  19. SPRD Camera sensor
  20. 【火炉炼AI】机器学习050-提取图像的Star特征

热门文章

  1. 番石榴的对象类:Equals,HashCode和ToString
  2. 在Spring中使用JDBCJobStore配置Quartz
  3. 配置 Powerline 到 Vim
  4. mysql firebird 性能_Firebird, MySQL 与 PostgreSQL 代码质量对比
  5. mysql在计算机管理中的路径怎么修改_称重软件中的数据修改怎么知晓?
  6. 增加第三方插件_AE插件排行!!
  7. 【H.264/AVC视频编解码技术】第六章【指数哥伦布编码】
  8. 【安卓开发 】Android初级开发(七)MD5加密
  9. 计算机系统计算机,计算机系统与计算机化系统的区别
  10. 配置多个git账号_docker随手笔记第七节 jenkins通过git部署java微服务插件安装