POPPUR爱换

标题: 默认声音播放设备更换程序(适用于多声卡系统)v1.4 11/08更新 [打印本页]

作者: gzXW    时间: 2007-10-29 11:41
标题: 默认声音播放设备更换程序(适用于多声卡系统)v1.4 11/08更新
更新历史:9 b/ _1 A8 R3 w8 Z2 o+ l
1.0.1   修正一个判断返回值的bug,请重新下载新版本,抱歉。
( ^6 w- D2 T! J' |3 `8 D1.0.3   修正中文窗口标题识别。

$ A  L% t1 }- Z% E7 y
1.2.0   重要改进,使用消息控制设备更改,适用所有语言的Windows。(去除使用mmsys.cpl来更改设备的方法)
8 h. o1 F# P% V, t0 x          在非简体中文系统中,以英文显示。
2 S3 K7 r+ r& S& M2 x
1.3.0   10/31/2007更新,主要是增加通知栏图标,及相应切换菜单,使用更加方便。
. @* c6 r6 l% U- n. I      以带参数的快捷方式运行时,程序在更改设备后提示消息,然后延时8秒退出。如果在此之前本程序已经有一个副本在运行,则更改完设备后立即退出。
! E3 ~+ z! h1 R9 E; j' G$ R      不带参数直接运行时,程序驻留系统通知栏,在设备发生更改时显示变更消息。(在控制面板中对设备作出更改时,本程序也能接收到消息)0 V; O3 _( U# G
      通知栏图标说明:左击,显示/隐然程序主窗口;右击,显示设备列表菜单,可以直接点菜单切换设备。
2 v/ A. C6 P( W- e: L/ E" N$ z1.3.2   修正两处界面显示错误。
5 X: t+ Q5 L2 B7 B  q5 \
1.3.3   重要更新:修正一处消息比较的错误。此bug会造成程序无法正确知道设备已经发生更改事件,无法显示相应的消息。
# q8 @/ R8 A, A9 k1 M, H; T* q1.4.0.9 11/02加入录音设备的选择切换,气泡提示设为可选项,保存窗口位置。
" b) I* z9 X" E           由于新版本的快捷方式对数与旧版本不一样,请重新生成桌面快捷方式。

0 \( |* b7 e$ `/ @( e1.4.0.25列表框中的当前默认设备改为红色显示;生成快捷方式时可以自由选择保存位置及名称;增加随Windows启动运行选项。
$ h9 a  p' x4 D1 {3 e' d1.4.0.39合并一些函数过程;调整窗体界面显示效果。8 f3 s4 E( Z5 @% a4 O
  

+ p7 x: Y; e1 T# Y3 {8 s( y3 M1.4.0.40 当系统移走一块声卡时,windows注册表中的对应信息并不同步更新,造成本程序出错而关闭。此版本消除这个出错的bug,会提示用户重新设置一次,当用户设置当前的声卡为默认设备后,注册表中的错误信息可以得到更正而不再报错。
, z% n& ]) N# w; S& H: L9 Y
  
' r+ r+ b) P) A6 F5 K* v8 k% b  g& T( e            MD5: 420b571b57e6f664667b6b0b77f20337  ChangeSoundDevice.exe8 A9 E# a6 Y: B/ E, P

. d3 q: C. m) M5 g看来坛子上多声卡的兄弟不少。
9 N' z  C3 |+ K前天按一位兄弟的要求用vbscript做了一个切换脚本,脚本有一个缺点是无法应对多个设备名称首字母相同的声卡。
) R8 V# J( n5 |9 i0 \' `& K现在更新一下,用VB做了类似功能的程序,可以实现精确选择声卡输出设备端口,比用vbscript做的要强。
7 B+ Z2 ^/ A# A4 }- J5 \& U
9 V( _# k" F9 u# t默认声音播放设备切换程序(多声卡切换软件)
; w1 y8 S( ^4 U7 V, V7 n支持Windows XP/2003。 ! D! a" H+ D: K

3 r3 h4 k- k+ v4 ?7 Y& C) U: g本程序为多声卡用户制作。相比传统通过控制面板更换默认播放设备的方法,本程序能为你更快捷的切换设备。/ I& n9 M9 y* y. c( p
你可以利用本程序为每个设备端口生成对应的桌面快捷方式,运行此快捷方式可以直接切换至对应设备。
3 a- G( T4 N7 G' p" ~( a2 G
- M" Q; \$ W! x8 K- E
: g* ~. ?! T- ~6 `A program allows you to change the default sound playback device quickly.
9 ]9 F: D- y. w) B; p5 pIt is very useful for users with more than one soundcard. 2 P/ m; `2 i3 A& m) g, H+ T' {0 Q
With this tool  you can generate a series of desktop shortcut for each sound device,  and then you run the shortcut can be directly switched to the corresponding device." e0 i5 B7 b+ E% P
This tool supports Windows XP/2003.  `4 O$ G6 X- c. H. g/ z

4 s# Y& v2 B" p, ?, s+ i[attach]798570[/attach]) s7 K) g" s* x' G
自动检测设备更改:[attach]797772[/attach]3 u" E4 k4 a3 f+ L3 h  C) @0 l( o
使用菜单也可以切换:[attach]797773[/attach]% B9 v$ R6 q8 w5 Q( t

2 ^- K: y8 U+ Z[ 本帖最后由 gzXW 于 2007-12-12 15:41 编辑 ]
作者: gzXW    时间: 2007-10-29 11:45
vbscript的脚本见贴:( y, t5 ]+ l# {0 _9 J2 U: ?
. G5 O  i5 i' {, x
http://we.pcinlife.com/thread-838287-1-1.html
作者: garry    时间: 2007-10-29 11:50
好东西来咯!
6 l0 G" `$ P, Y) I7 X5 I5 @7 Q顶下:lol:
作者: terryddb    时间: 2007-10-29 12:14
提示: 作者被禁止或删除 内容自动屏蔽
作者: nbmsa    时间: 2007-10-29 12:38
试了下,不支持USB声卡哦
作者: gzXW    时间: 2007-10-29 12:45
原帖由 nbmsa 于 2007-10-29 12:38 发表 6 \; ^& `! ?' q- E8 g
试了下,不支持USB声卡哦

5 n1 m, j4 y1 r2 v' C# r# L: x1 N$ d/ N: q9 [' f5 y1 G7 a  Y
列表中有没有显示出USB声卡?& r, w% Z2 @$ b* d6 ^& |
1 X9 A( A4 w0 H5 K
我没有USB声卡,没法试。:(
作者: flz821028    时间: 2007-10-29 13:35
用不着:crying:
作者: sd-iori    时间: 2007-10-29 13:44
不错,,,,,,,,,,,,,,,,,
作者: chairmanai    时间: 2007-10-29 13:55
随便测试了一下,gzXW 给看看原因吧,系统是XP的。0 Q  f2 ^7 n& H, s. Q; b

% W% O* T( n; z. T0 V% T6 A! c但是所有操作不可执行,是不是因为我只有一张声卡?
作者: gzXW    时间: 2007-10-29 14:25
原帖由 chairmanai 于 2007-10-29 13:55 发表
' F- H! ~. t" G7 _0 `8 _8 F* w: u随便测试了一下,gzXW 给看看原因吧,系统是XP的。4 H5 Z8 \+ [" c; n- v, _
& d: m2 o! ~+ i
但是所有操作不可执行,是不是因为我只有一张声卡?

% ^5 [  ^6 B  Y9 l& a4 @
& ^% C7 V/ ^4 K- v; I我现在是用英文的系统测试的,中文版的系统窗口标题不一样,可能我多打或少打一个空格造成无法识别。晚上我装个中文系统调试一下。; y8 K+ {- L* [7 h: w4 a) f

2 z1 b" c* h7 Y) T7 \6 k! s现在按你提供的截图中的标题又改了一下程序,你看能不能使用。5 o4 j/ p+ c/ |8 R
v1.0.3
作者: kingcole    时间: 2007-10-29 17:19
:thumbsup: 不得不出来赞一个~~~
作者: garry    时间: 2007-10-29 17:41
可惜我的台式机坏了,好东西想试下都不行。
作者: 22587758    时间: 2007-10-29 17:45
提示: 作者被禁止或删除 内容自动屏蔽
作者: terryddb    时间: 2007-10-29 19:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: gzXW    时间: 2007-10-29 20:15
LS个TH,神卡啊:wub: ! c8 g8 a$ b; ?6 W& ?

, {- p: c; v/ U- J* p. y
& n9 w0 d) f" v# e自己也找了个中文版的XP试了一下,1.03可以正常检测。
* Z/ o3 q$ Z6 d( [$ ^! r: {( n[attach]796909[/attach]
作者: BeatJapan    时间: 2007-10-29 20:34
我试了3次均无效.还有一次死机
作者: gzXW    时间: 2007-10-29 20:47
原帖由 BeatJapan 于 2007-10-29 20:34 发表 ' p% [0 P" X1 s; W9 P
我试了3次均无效.还有一次死机
- o2 u6 m0 A- r  Q; D7 \: g" ^5 i

. f/ k7 M3 W. o" G- D% z% b2 F:( 看来兼容问题多多。
2 H1 J- K; {0 D: |- Y: u
( o( _/ o* ~- r9 [你用的是哪种系统?   不行就用那个vbs脚本进行切换吧:http://we.pcinlife.com/thread-838287-1-1.html
作者: gzXW    时间: 2007-10-29 20:47
btw: 切换声卡后,此前已经运行、正在使用中的程序是要关闭后重开才会生效的。
作者: haniaiai    时间: 2007-10-30 11:04
这东西不错啊。        :wub:
作者: 镇雨    时间: 2007-10-30 13:17
不错不错.这样用起来比较方便.谢谢先.:loveliness:
作者: gzXW    时间: 2007-10-30 13:55
更新了,这个版本的兼容性应该比上一版要好。
, X/ B- [% F* `1 o2 i1 G/ ~! m1 ?使用过程中遇到bug记得上报啊,我会改进。
作者: terryddb    时间: 2007-10-30 15:55
提示: 作者被禁止或删除 内容自动屏蔽
作者: pyrolater    时间: 2007-10-31 07:47
在我的机器上运行良好,sc4630 + xFire1723,Winxp pack2,谢谢啊,谢谢。
0 w4 l, |3 G% z9 r4 l- e# y! K0 Y8 l$ F/ a% I
[ 本帖最后由 pyrolater 于 2007-10-31 07:54 编辑 ]
作者: znai9    时间: 2007-10-31 08:46
用了一下 很好用 谢谢LZ   :lol: :lol:  : \% c+ b- f, x! m: n* z8 P
/ ~( B- ]; z2 d( m; }
有个建议:设为默认设备后能否给个提示
作者: gzXW    时间: 2007-10-31 09:21
原帖由 memoria 于 2007-10-31 08:10 发表
, g8 [4 ]+ J' F: @创新声卡和AC97
2 a+ j' R7 Z( X5 {9 P0 k2 U) C- s9 D
) l; s$ ?9 e# G0 ~7 j8 p  N创新不能设为快捷方式
# E8 k- p3 q( A$ g7 `( rAC97可以# s+ x, Z' `; C* x' l+ P

; B( I$ E- ~$ f不过已经很方便了, 谢谢LZ
$ l4 y0 G0 `- G" T

+ h0 |( ?% N: u/ D; Z& J. R请问创新卡在设备列表列表里显示是什么名称?
$ i) K; a' m1 H/ S
. S/ C4 R4 I# ^- _: c- E0 e) V. N可能是有特殊字符,我得特殊处理一下。
作者: gzXW    时间: 2007-10-31 09:28
原帖由 znai9 于 2007-10-31 08:46 发表
7 P9 Z. a9 n/ c! ^1 `6 m% e7 C用了一下 很好用 谢谢LZ   :lol: :lol:  
. \3 u/ j4 ?, Q  [/ [5 F2 Z! O* ?3 L5 f1 g; K# B6 p
有个建议:设为默认设备后能否给个提示
( z7 ^' B0 q% h4 i# P
3 y( R( Y1 Y5 E$ n/ {: Y- ~2 V
:lol: 好建议,谢谢,在下一版本加入。
$ F3 p% [% G8 ?# ]* r  l0 L. a# m8 C  }0 y
+ e! U& i/ _1 {
v1.3.0将加入以下特征:. Y% }  \8 V7 F6 F
可以驻留系统通知栏,在设备发生更改时显示消息;
0 R- m( ?  m9 b* Q通知栏图标加入菜单:左击,显示程序主窗口;右击,显示设备列表菜单,可以直接点菜单切换。
作者: garry    时间: 2007-10-31 10:41
哈哈,更新速度很快嘛!
3 a2 h) M/ R2 H7 F6 _/ y. \功能也越来越使用了!再顶下!
作者: terryddb    时间: 2007-10-31 10:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: 萧翎翎    时间: 2007-10-31 12:13
不错不错。好东西。等更好的版本。
作者: gzXW    时间: 2007-10-31 15:19
同步备份时出错,把辛苦做的新版本删掉了:wacko:
$ {: I, y' x2 t# J/ j' N只好重新改,总感觉少点什么。 人晕了,先不做了。
作者: terryddb    时间: 2007-10-31 15:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: gzXW    时间: 2007-10-31 20:14
感谢大家的肯定:loveliness:
作者: bbqcjf    时间: 2007-10-31 20:58
同上,很好,很强大.
作者: garry    时间: 2007-10-31 22:36
建议斑竹们给加点分啊,
6 Q. m6 D  p! C! Z& C4 C7 Q- ^- I9 w每更新一次就加一次:lol:
作者: ahdm    时间: 2007-11-1 08:45
提示: 作者被禁止或删除 内容自动屏蔽
作者: gzXW    时间: 2007-11-1 09:25
原帖由 ahdm 于 2007-11-1 08:45 发表
" M* z8 l& ?& J- Z# H8 V192+板载- G! R- |2 i1 e6 Q% R

8 W6 `- j" z. Z) L. D6 ^选择生成快捷方式后、7 {# y4 U& X+ s" R1 U+ @' L4 e. o8 B9 G
. @# U% `3 v& N
出现一个什么被修改得提示匡后就cpu占用率100%# N0 @  X, _! o+ E9 }% ~

6 r1 h0 m" n2 P( k还关不掉   只能呼出任务管理器强制关掉

0 X3 b4 A% ]7 w, {2 x; {
! h& A4 ^- }0 C' ]4 |+ R% K9 @4 |; ~( `: I! R2 H! _6 r" w, T+ H9 P
:wacko: 还是有问题。         是右下角出现的气泡提示框吗?
; q4 S' L5 ~6 C3 a3 U
8 d6 ^% r; ^. v' X+ t$ D你用的是什么系统? 最好在出错时运行cmd /c tasklist >c:a.txt命令,把c盘根目录下的a.txt内容(进程列表)贴上来我分析一下,谢谢。& C/ I) V* `% m. _8 J$ I
* ~$ }# e' j# Y4 @. k
[ 本帖最后由 gzXW 于 2007-11-1 13:14 编辑 ]
作者: gzXW    时间: 2007-11-1 13:08
刚才检查代码时发现一个bug,是源码不小心被删掉后重写时忘记改了的。
" e/ M2 R. q: H算是知道写代码容易、改代码难了。
作者: chairmanai    时间: 2007-11-1 13:12
原帖由 gzXW 于 2007-11-1 01:08 PM 发表
) |4 i" }' V5 a0 _- y刚才检查代码时发现一个bug,是源码不小心被删掉后重写时忘记改了的。1 z  D, g- ~- X
算是知道写代码容易、改代码难了。
7 N7 q8 K0 q/ ~# q; o# L

( `2 q- l5 I2 r# N9 [LZ辛苦了:lol:
作者: gzXW    时间: 2007-11-1 13:26
:lol: 方便自己,也方便大家:lol:
作者: yink222    时间: 2007-11-1 13:50
不知道支持不支持ISA声卡
作者: gzXW    时间: 2007-11-1 14:01
与声卡物理接口无关。- U/ z$ P( z6 W4 X  O
! `. a8 {+ [/ s( ~3 C8 z* g9 p4 H
只要声卡有wave的软件接口,都是支持的。
作者: BeatJapan    时间: 2007-11-1 16:44
我又来啦,新版本能用了,支持LZ!
作者: 见龙卸甲    时间: 2007-11-1 17:03
留名,支持一下
作者: BeatJapan    时间: 2007-11-1 17:16
还是有点问题的,我是XP系统SBLIVE和ALC888双声卡,建了两个快捷方式,试了几次能用,再试了几次后,列表里创新声卡消失,点快捷方式提示"不存在对应设备"
作者: gzXW    时间: 2007-11-1 18:10
原帖由 BeatJapan 于 2007-11-1 17:16 发表
" W- [/ o4 C" s4 X还是有点问题的,我是XP系统SBLIVE和ALC888双声卡,建了两个快捷方式,试了几次能用,再试了几次后,列表里创新声卡消失,点快捷方式提示"不存在对应设备"
  n) }4 F: P6 g6 W: t4 Z

- E( `) r, c% M( W) W2 R, g% F" D3 N! \! F( C1 h& M0 V
出错时,打开控制面板看里面是否有创新声卡?
作者: fenjinxin    时间: 2007-11-1 18:12
好东西,我正好有两块声卡
作者: gzXW    时间: 2007-11-1 18:26
下一版加点功能,黑真PIG提议加入输入设备的切换。
0 b+ ?# B3 C. t* Z* T& w; z6 J9 i8 |7 a9 ~
闲点再做。% I' n0 \6 K! |

& _3 c% z9 J: C[attach]798171[/attach]
作者: terryddb    时间: 2007-11-1 19:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: gzXW    时间: 2007-11-1 19:39
原帖由 terryddb 于 2007-11-1 19:07 发表
8 e9 q/ v; s. q+ i8 A很好很强大了:lol:
+ N+ b, u! w! Z) @" d' B再提两个建议:
- W( i9 i: n3 t) S# M1、可否增加气泡提示显示开关选择,自由选择是否需要任务栏气泡提示。
$ J) C& F) x& ~8 Y! O) t! F" o% H2、增加开机自动运行的选择选项,按个人需要选择是否开机就运行该软件。
/ Y5 N  g6 b* {, g7 a, P5 ^/ Q再问下LZ贵软件能否支持VISTA? ...

6 G# Y! d1 h5 X2 I2 g- e8 R* ]. m7 {, \) O1 P' |9 P4 Q
答:
/ K4 x+ {: e4 l7 [1,可以,下一版加入;2,自己拖个快捷方式到启动目录也挺方便的;3,不支持vista,vista的音频结构 不一样了,目前没有研究。
( e. R7 u. ^) q/ V  T+ l! D
4 }, z2 t  a) U. j/ X% c% A[ 本帖最后由 gzXW 于 2007-11-1 19:40 编辑 ]
作者: terryddb    时间: 2007-11-1 19:58
提示: 作者被禁止或删除 内容自动屏蔽
作者: gzXW    时间: 2007-11-1 22:28
应该可以,你自己用键盘试一下,记下击键顺序,对应改.vbs。
/ ^7 t3 Z  r# M/ a+ i; l+ W- n2 [  L8 Y! p
我现在没有vista,没法试。
作者: gzXW    时间: 2007-11-2 00:45
原帖由 terryddb 于 2007-11-1 19:58 发表 % w% o" z: e7 W. W# a) Y! R+ V
在VISTA下可否采用你刚开始时的VBS的方法,这样的话应该相对简单快捷一点:lol:

  _" }3 ^- ~: N& R% z2 ^9 e& v+ a; U

+ O5 l4 A$ y1 y试了一下,用vbs可以做到。+ e" x& e! }. r4 o8 ?: w
vista的控制面板只能用方向键,没办法用字母直接选择。) i2 E8 `9 {) o6 z' ]

  Z/ F( q+ F5 A# ?! P% ^试用的脚本:: C6 W8 V" p4 h: _* n$ r+ s
change.vbs0 S8 c6 C' _; _: L
  1. '切换默认声卡3 R: ?# W, O, K2 Z& B4 l+ \
  2. 'Coded by gzXW
    5 j6 L( I* w# f; `
  3. Option Explicit
    & w4 ^. E0 z* v. E, w+ ?) z

  4. 0 U2 z. U) W7 i! ?$ o
  5. Dim WshShell
    . R: q" i) D8 H6 q$ e
  6. Set WshShell = CreateObject("WScript.Shell" ): J+ d1 C5 Z6 u, V6 \, s4 |
  7. 5 D$ C/ t, j0 |- {; F* k5 r
  8. '运行音频面板4 |, ?3 V- x, }7 y& T
  9. WshShell.Run("rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0" )+ P3 A; @$ O, c$ u. V# @: b
  10. WScript.Sleep(1500)$ m# ]& M  J& Q* ~; n0 E* X& ?9 c
  11. - T! t  K6 r4 T0 @; E* I! `
  12. '模拟按键,第一块声卡按一次Down键。如果有更多声卡,可以多按几次Down键。! Q! S) I* D; ~' G. R
  13. WshShell.SendKeys("{DOWN}" )
    3 v) D7 g4 ~  n
  14. 'WshShell.SendKeys("{DOWN}" )8 ~4 a; ~3 h; C9 |0 V9 O

  15. 7 g6 w" C0 e/ @4 y; ~/ Q: Z+ M
  16. WshShell.SendKeys("%s" )9 J) I+ V+ \2 ]6 x3 T! C( f
  17. WshShell.SendKeys("{ENTER}" )
复制代码

作者: 93blue    时间: 2007-11-2 01:15
楼主真是个好心人:lol: :lol:
作者: 鲁爾    时间: 2007-11-2 01:43
不错,支持下:lol:
作者: gzXW    时间: 2007-11-2 21:59
按建议改好了,用得上的收货:lol:
作者: 动力音熊II    时间: 2007-11-3 09:54
真的搞不懂,为什么还有这个东东。。。。
! M! I- S# c7 ?% I( t
. r# P+ _+ F8 O8 `8 _; O不是音箱接头插进去,自动切换声卡吗?
6 l( u5 B) i7 K/ T$ O2 s我在VISTA下,接螃蟹卡进去,听歌到一半,直接拔下来,差到X-FI上,照样听。。。控制面板里面貌似自己改了默认扬声器~ :blink:
作者: garry    时间: 2007-11-3 22:37
再次顶LZ,
4 u! E+ e) ?: K0 g6 ?6 L2 h! h热心技术人士啊!
作者: artu    时间: 2007-11-4 08:07
不错不错,下来试试
作者: gzXW    时间: 2007-11-6 15:23
小改一下,没啥新东西。
7 F( a9 [6 I7 r5 y/ ]列表框中的当前默认设备改为红色显示;生成快捷方式时可以自由选择保存位置及名称;增加随Windows启动运行选项。
作者: terryddb    时间: 2007-11-6 15:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: flz821028    时间: 2007-11-6 19:30
好DD,下个试试,顺便T上去:lol:
作者: 水影    时间: 2007-11-6 22:55
:loveliness: 弓虽 !! 顶上去先~B)
作者: gzXW    时间: 2007-11-8 13:25
有人反应界面不好看, 所以改了一下,漂亮些:huh:
作者: garry    时间: 2007-11-8 14:31
哈哈!又更新了,下了!
作者: gzXW    时间: 2007-11-8 19:53
貌似没啥要更新的了,:unsure:  5 |" x, _# Z' h" {

+ b/ ]  i- W9 \2 r- f除了那可恶的vista:wacko:
作者: owenozx    时间: 2007-11-8 20:18
好,热心的lz!!!
作者: smty1111    时间: 2007-11-8 20:29
不错,很好用,谢谢。
作者: kween_671    时间: 2007-11-8 23:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: gzXW    时间: 2007-11-8 23:32
这个是分析对照控制面板做出来的,与系统带的面板没有什么区别。
6 Z( @9 }( n9 G. @2 G两者的更改是同步的,你可以同时打开这个软件与控制面板,随便更改其中一个,可以看到另外一个会自动收到消息去同步列表。




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4