阅读:2012回复:11
在驱动中如何播放WAV音频文件?
在应用程序下有些API接口,可是在驱动下我都不知道哪些接口可用,可不可以打开文件先,得到句柄,然后把句柄传给声卡驱动?
哪位大虾做过这方面或者了解这方面的东西,可以说一下吗? 谢谢了。 分不够可以再给,做人讲究的是个信字! |
|
沙发#
发布于:2005-04-28 09:28
What\'s function of your project? Can you say more detail?
|
|
|
板凳#
发布于:2005-04-28 09:45
难道不可以在应用程序中播放吗?
|
|
地板#
发布于: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,哪位能给些提示和建议吗? 其实要实现这个东西做一个键盘钩子很容易,我只是想在驱动下面试一下,所以不要问我为什么要用驱动做,好吗? |
|
地下室#
发布于: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喇叭吧,虽然难听,但有怀旧的感觉 |
|
|
5楼#
发布于:2005-04-29 14:08
发音还是用PC喇叭吧,虽然难听,但有怀旧的感觉 PC喇叭?以前没有用过,可以说得详细一点吗?或者给一个例子,太感谢你了。 |
|
6楼#
发布于:2005-04-29 15:12
[quote]发音还是用PC喇叭吧,虽然难听,但有怀旧的感觉 PC喇叭?以前没有用过,可以说得详细一点吗?或者给一个例子,太感谢你了。 [/quote] PC喇叭就是你开机听到的那个嘀的一声的东东 看最老的那本清华大学出的pc汇编语言,黄色书皮的,我那时定价仅6元,操作61端口,现在Windows中系统设备中它叫System speaker,过去DOS下有个1645病毒,它还会用PC 喇叭唱东方红和浏阳河呢!!!用起来也很简单 |
|
|
7楼#
发布于:2005-04-30 09:18
我记得有本C语言的书上有个例子,必须先在程序中定义好需要向PC喇叭需要发送的音符(相当于把WAV文件翻译过来吧),然后再发送下去,能够发声的,应该在驱动程序中可以使用吧(只使用了标准C函数)
|
|
8楼#
发布于:2005-04-30 12:16
我记得有本C语言的书上有个例子,必须先在程序中定义好需要向PC喇叭需要发送的音符(相当于把WAV文件翻译过来吧),然后再发送下去,能够发声的,应该在驱动程序中可以使用吧(只使用了标准C函数) 对,驱动中可以控制这个,但要编制相当于WAV文件的音符需要花时间,wav越多需要越多的时间 |
|
|
9楼#
发布于:2005-05-01 16:21
真有意思,我也想学学, :P
|
|
10楼#
发布于:2005-05-03 00:04
内核中可以用HalMakeBeep(frequency)
不同的frequency发出不同的beep,要编出一首乐曲也是可以的啊。 不过是单调的,或许可以用多个线程来beep,这样不同频率的beep 就可以叠加起来的了。不知道有没有办法控制音量?那么你就可以 从最简单得的音频得到音乐了。:) |
|
11楼#
发布于:2005-05-17 16:58
使用 IoGetDeviceObjectPointer , 获得 wdmaud.sys 驱动的设备对象, 调用IoBuildDeviceIoControlRequest , 调用 IoCallDriver即可. wdmaud.sys 的细节要到micosoft索要.
|
|