Eddid
驱动牛犊
驱动牛犊
  • 注册日期2005-03-16
  • 最后登录2018-11-27
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:2012回复:11

在驱动中如何播放WAV音频文件?

楼主#
更多 发布于:2005-04-27 11:26
在应用程序下有些API接口,可是在驱动下我都不知道哪些接口可用,可不可以打开文件先,得到句柄,然后把句柄传给声卡驱动?
哪位大虾做过这方面或者了解这方面的东西,可以说一下吗?
谢谢了。
分不够可以再给,做人讲究的是个信字!
jgw2008
驱动小牛
驱动小牛
  • 注册日期2004-12-16
  • 最后登录2005-12-20
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望8点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-04-28 09:28
What\'s function of your project? Can you say more detail?
Best Wishes to you! MSN: jgw2008@hotmail.com E-Mail: jgw2008@126.com
guard2002
驱动中牛
驱动中牛
  • 注册日期2002-05-21
  • 最后登录2017-03-07
  • 粉丝0
  • 关注0
  • 积分46分
  • 威望65点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2005-04-28 09:45
难道不可以在应用程序中播放吗?
Eddid
驱动牛犊
驱动牛犊
  • 注册日期2005-03-16
  • 最后登录2018-11-27
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-04-28 09:47
What\'s function of your project? Can you say more detail?

我想做一个键盘上层过滤驱动程序,如果按下某一个键,则以后的按键开始发音,键的发音文件我已经有了,是WAV格式的,都很小。
请问驱动里面可以用mmsystem.h中的API函数吗?像sndPlaySound,我把mmsystem.h放进我的项目里面,直接报了89处错误,全是mmsystem.h里面的,在加入它和sndPlaySound之前一切正常,能很好的工作,我也在LINK中添加了Winmm.lib,哪位能给些提示和建议吗?
其实要实现这个东西做一个键盘钩子很容易,我只是想在驱动下面试一下,所以不要问我为什么要用驱动做,好吗?
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-04-29 10:04
[quote]What\'s function of your project? Can you say more detail?

我想做一个键盘上层过滤驱动程序,如果按下某一个键,则以后的按键开始发音,键的发音文件我已经有了,是WAV格式的,都很小。
请问驱动里面可以用mmsystem.h中的API函数吗?像sndPlaySound,我把mmsystem.h放进我的项目里面,直接报了89处错误,全是mmsystem.h里面的,在加入它和sndPlaySound之前一切正常,能很好的工作,我也在LINK中添加了Winmm.lib,哪位能给些提示和建议吗?
其实要实现这个东西做一个键盘钩子很容易,我只是想在驱动下面试一下,所以不要问我为什么要用驱动做,好吗? [/quote]
发音还是用PC喇叭吧,虽然难听,但有怀旧的感觉
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
Eddid
驱动牛犊
驱动牛犊
  • 注册日期2005-03-16
  • 最后登录2018-11-27
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-04-29 14:08
发音还是用PC喇叭吧,虽然难听,但有怀旧的感觉

PC喇叭?以前没有用过,可以说得详细一点吗?或者给一个例子,太感谢你了。
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-04-29 15:12
[quote]发音还是用PC喇叭吧,虽然难听,但有怀旧的感觉

PC喇叭?以前没有用过,可以说得详细一点吗?或者给一个例子,太感谢你了。 [/quote]
PC喇叭就是你开机听到的那个嘀的一声的东东
看最老的那本清华大学出的pc汇编语言,黄色书皮的,我那时定价仅6元,操作61端口,现在Windows中系统设备中它叫System speaker,过去DOS下有个1645病毒,它还会用PC 喇叭唱东方红和浏阳河呢!!!用起来也很简单
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
liuyan4794
驱动牛犊
驱动牛犊
  • 注册日期2005-04-14
  • 最后登录2010-08-19
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-04-30 09:18
我记得有本C语言的书上有个例子,必须先在程序中定义好需要向PC喇叭需要发送的音符(相当于把WAV文件翻译过来吧),然后再发送下去,能够发声的,应该在驱动程序中可以使用吧(只使用了标准C函数)
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-04-30 12:16
我记得有本C语言的书上有个例子,必须先在程序中定义好需要向PC喇叭需要发送的音符(相当于把WAV文件翻译过来吧),然后再发送下去,能够发声的,应该在驱动程序中可以使用吧(只使用了标准C函数)

对,驱动中可以控制这个,但要编制相当于WAV文件的音符需要花时间,wav越多需要越多的时间
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
tangwise
驱动牛犊
驱动牛犊
  • 注册日期2003-11-06
  • 最后登录2007-06-12
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-05-01 16:21
真有意思,我也想学学, :P
Odyssey
驱动小牛
驱动小牛
  • 注册日期2004-12-15
  • 最后登录2008-03-29
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望115点
  • 贡献值0点
  • 好评度115点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2005-05-03 00:04
内核中可以用HalMakeBeep(frequency)
不同的frequency发出不同的beep,要编出一首乐曲也是可以的啊。
不过是单调的,或许可以用多个线程来beep,这样不同频率的beep
就可以叠加起来的了。不知道有没有办法控制音量?那么你就可以
从最简单得的音频得到音乐了。:)
wonder_2001
驱动小牛
驱动小牛
  • 注册日期2002-07-02
  • 最后登录2010-12-03
  • 粉丝0
  • 关注0
  • 积分452分
  • 威望96点
  • 贡献值0点
  • 好评度36点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2005-05-17 16:58
使用 IoGetDeviceObjectPointer , 获得 wdmaud.sys 驱动的设备对象, 调用IoBuildDeviceIoControlRequest , 调用 IoCallDriver即可. wdmaud.sys 的细节要到micosoft索要.
游客

返回顶部