请教,如何把正在播放的声音停止掉?(100分)

  • 主题发起人 sandraphh
  • 开始时间
S

sandraphh

Unregistered / Unconfirmed
GUEST, unregistred user!
我要实现这样一个功能,主机向局域网中的其他机器广播视频或音频,如果其它机器正
在播放一段音频的话,就会有问题,如何把正在播放的音乐停止掉。不能用关掉应用程
序的方法,是不是还与声卡的型号或驱动有关系啊?请各位帮忙?
 
?····
······
什么
 
我没说明白?其实就是我向一台机器发明令,机器收到命令后就结束正在播放的声音文件,
启动我指定的程序,并播放网络传输过来的视音频。
 
由于你不知道别人机器上用什么软件播放,要考虑对付的太多,
最好能从系统级别找个根本的方法。
既然要把正在播放的音乐停止掉,为什么不能关掉应用程序?
反正你已经夺走了它的一切,不如干脆杀了它,[:D]
发个close消息给它:上级头儿来了,给我靠边站。
 
对于兄台这个问题,有存在两种可能性:
1)如果对方的声卡驱动支持多音频流的话,你就根本不用关掉他的音频,他也一样可以收听。
2)如果不支持的话你写在对方的客户端的程序就要夺取音频控制权才行。
 
最好能不管什么声音在播,只要我的命令到了,就停止。就是这样的功能,我们 头说如果
关了应用程序就不知道以前在干什么了。是一个广播的软件,向客户端发广播的命令,要求
客户端软件能停掉声音,广播要广播的东西
 
李白的爸爸,我如何能夺取音频的控制权呢?请教
 
夺取音频的控制权最简单的方法就是关掉当前的程序。
我想其实你最好的方法是首选发送一条消息告诉用户,让他自己采取相应的操作,这样可能
会更容易解决。
 
不过你们的客户端机器的硬件都是统一配置的么,如果是的话我想根据你所描述的,所有声
卡的驱动都不支持多音频流才对,如果现在是用Win98的驱动的话,你可以考虑用Win2000的
驱动,有些声卡用win2000的驱动可支持多音频流,当然要能用才行,我这块创新Vibra128
的声卡在Win98下就可以用Win2000的驱动,而且支持多音频流。
 
我不明白,支持多音频流也要关掉声音啊,不能两个声音都播吧
 
不是这个意思,我想没有哪一个用户会愿意听两种声音,他自己应该关掉才对。
 
我就是想用程序关掉不该听的声音,而不是让用户自己关。因为我们的程序要求在收到广播
命令的时候就把鼠标键盘封住不起作用了
 
哦,原来这样,那你的应用程序就应该关掉所有的音频,这要用到API函数,具体的你可以查
一下API里面应该有相应的解决方法。
 
那用什么样的api呢?
 
你用Microsoft的MSDN查呀,由于我没这东东,MSDN有许多详细的说明。
 
msdn太慢了,我查api已经三天了,同一个程序中播放的声音能关掉,但外部程序(media
player)播放的声音就关不掉。请高手帮忙!
 
不在同一进程好象是关不掉的。
 
可不可以枚举出所有占用的声音通道,然后把声音通道关掉呢?请帮忙
 
其实最好最简单的方法是先检测系统中哪些程序正在使用声音通道,然后杀死进程。这样就
好办多了,不过我还是建设你去找找相关的API,或者到MSDN里去查,因为我也没用过这种
函数。
 
顶部