请问怎样实现四个声道同时发声且可随意控制?

wyj1 2000-01-23 02:05:00
最近写一个程序要求用一台电脑控制分别放在四个房间里的喇叭(各放各的声音,单声道就行了),我费了很大力气才把两块声卡同时安在了一台电脑中且互相不打架,而且已经把要放的声音全部转录与单声道了,可是用DELPHI怎样控制它们呢?谢谢指教
...全文
362 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
kxy 2000-01-23
  • 打赏
  • 举报
回复
DirectX好象不行,它只能控制一个声卡的左右声道的音量的相对大小,
一个到最大,另一个就没有声音了,:(
这个....,能实现吗?顺便问一下,你为什么要这样,没有更好的设计吗?
Venne 2000-01-23
  • 打赏
  • 举报
回复
可怕,还没有想过,关注。
kxy 2000-01-23
  • 打赏
  • 举报
回复
SDK=software develpment kit 软件开发工具包.
功能一样,只是接口是delphi的.
wyj1 2000-01-23
  • 打赏
  • 举报
回复
飞宇的SDK中有一个DELPHIX6,声明是DELPHI专用的,请问,使用它与直接使用其他的SDK在功能上有什么区别?是不是在DELPHI中只能使用标明为“DELPHI专用”的SDK?
kxy 2000-01-23
  • 打赏
  • 举报
回复
http://www.kl.gz.cn/~jfly/
http://3dgamediy.163.net/
wyj1 2000-01-23
  • 打赏
  • 举报
回复
但是到哪里找如何在DELPHI中使用DIRECTSOUND的有关文档呢?
wyj1 2000-01-23
  • 打赏
  • 举报
回复
Thanks
kxy 2000-01-23
  • 打赏
  • 举报
回复
DirectSound的出现就是为了解决同一个声卡上同时播放wav的问题,:)
随便找一个使用DirectX的游戏就知道,背景音和枪声时同时出来的.
试试把,
Good luck
wyj1 2000-01-23
  • 打赏
  • 举报
回复
回复:十分感谢各位的帮助。我原先的方案是这样的,使用MCI系统:
假定声卡1的左右声道连接音箱1和2,声卡2的左右声道连接音箱3和4,所有的声波文件都录成左声道形式。
当控制程序接到发声请求时,先判断它该由哪块声卡的哪个声道发声,然后把声波文件做必要的转换(如左声道换成右声道,听K老师提示才想起可以用控制音量的方法,可能应该可以省去转换的麻烦,谢谢K老师了,此节暂且不提吧),然后用MCI指令将声波在指定的声卡上放音即可。
但此法有一大毛病,即同一块声卡的两个声道不能共用,如音箱3正在发声时接到4的请求,但由于此时声卡2正在播音,因此非要等到3的声波发完后才能发4的声音,很痛苦。
如果DIRECTSOUND可以同时在一声卡上发声的话,好像问题就解决了,是不是这样?
kxy 2000-01-23
  • 打赏
  • 举报
回复
或者你去看delphi的mmedia.hlp
在"\Program Files\Common Files\Borland Shared\MSHelp\mmedia.hlp"
kxy 2000-01-23
  • 打赏
  • 举报
回复
你要干的事情很奇怪:)),哈哈,有趣.
我想,这个东西要使用DriectX.
一个声卡放一个双声道的声音,DirectX可以控制一个声卡的左右声道.
这样就可以控制四个声音,
DirectX的资料可以买一套MSDN的光盘,大概 70-80RMB(D版)
或者你去http://www.kl.gz.cn/~jfly/看看,那些猛人正在翻译
DirectX的文档,只是他们先图像后声音,不知道现在到没到声音:)
(TMD 老把声音敲成 呻吟 :((
)
kxy 2000-01-23
  • 打赏
  • 举报
回复
那是有两个声道,声音是相对的,left+right=定值.
kola 2000-01-23
  • 打赏
  • 举报
回复
应该可以的吧!不知道VCD里左边是粤语,右边是普通话是怎么实现的!

5,729

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧