同时输出wav文件(或用两个声道)(200分)

  • 主题发起人 主题发起人 景冰
  • 开始时间 开始时间

景冰

Unregistered / Unconfirmed
GUEST, unregistred user!
请各位速指教:

如何同时输出两个wav文件,同时控制每个wav文件的播放起始和终止位置。
 
这恐怕不可能吧
因为在windows中,用于播放wav文件得控制器一旦被占用,其他的程序就不能再
控制它,直到它被释放.
 
Screen说的不对,你试试用Windows Media Player同时播放几个.wav文件试试,
绝对没问题!所以,只要搞明白Media Player怎么工作,也就行了。可惜我不会。
 
crab,你是说的媒体播放机么?
我不知道怎么同时播放多个文件,首先不能同时选中多个wav文件,
另外,我起了两个媒体播放机,第一个在播放时,的第二个就不能播放,
我是在win98环境里,不知道nt怎么样?
 
我知道可以自己按时间片对多个wav混音再输出,但希望在delphi中稍简单点实现。
最好用mediaplayer.

请各位赶快献计,我会很快结束此讨论,把分分出去。
 
用DirectSound 可以 控制声道,并且能输出两个WAV文件
 
我在2000下,如果将一个程序运行两次,则两个实例同时播放不同的文件是可以的,但一个程序里这不能同时播放,可能是mediaplayer的限制。可能声卡也有关系吧。
 
更才试验了一下,导入windows media player activex控件,这同一个程序用两个
改控件同时播放两个wav文件是可以的。
当然,还是在2000下,我没有98,不知道98下怎么样。
 
这种问题跟声卡有关,比如实现用一个声卡内录(即不用任何外部设备,把自己播放
的wav,mp3,midi等录下来),在同创166MMX上可以实现,而在我的机器上(组装,声
卡为sb64位金卡)就不行。
另外,能同时播放多个wav和mid文件的软件不止一个,最突出的是quicktime,可以同
时播放任意多个文件。
我用多线程方式试过了,行不通,望各位高人继续谈论。
 
请hustmouse继续解释:什么是DirectSound方法,是在delphi 中实现吗?

请daiqingbo继续解释:你说的Windows media player activex是指delphi的mediaplayer吗?
 
DirectSound是DirectX中的对象

你玩的游戏的声音就使用的它

它可以直接利用硬件加速

使用它很容易,你可以直接使用,或者利用现成的控件(此控件很好用,
还有帮助呢,如果你要,我可以发给你,但我这里的比较老,是For DirectX 5的
我的Email : hustmouse@netease.com)

它可以单独控制播放的声道,可以混合多个声音的输出

更好的是,它对WAV文件提供了"比较"直接的支持(WAV数据流可以直接
放到DirectSoundBuffer中播出)

如果你要播放MIDI,好象DirectMusic可以
 
多人接受答案了。
 

Similar threads

后退
顶部