- 1 名前:名無しさん@お腹いっぱい。 [2008/12/31(水) 12:39:34 ID:ROX9gd900]
- ■公式
www.autohotkey.com/ ■解説 AutoHotkeyを流行らせるページ lukewarm.s101.xrea.com/ ■過去スレ 1 pc7.2ch.net/test/read.cgi/software/1098531338/ 2 pc7.2ch.net/test/read.cgi/software/1129836713/ 3 pc11.2ch.net/test/read.cgi/software/1157043396/ 4 pc11.2ch.net/test/read.cgi/software/1184556627/ 5 pc11.2ch.net/test/read.cgi/software/1201502896/ 6 pc11.2ch.net/test/read.cgi/software/1219130051/ 関連リンク>>2以降も参照
- 13 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/02(金) 17:24:57 ID:dpIHoV0B0]
- ■ サウンドデバイスの一覧を改行区切りで得る関数
waveOut/waveIn , midiOut/midiIn に対応 複数の入出力デバイスがなければ全く意味がない。 SoundDevice_GetDeviceList(media="wave", isOut=true, requireId=false) { static cbxoc:=256,delim:="`n" uDeviceID:=0 func := InStr(media, "wave") ? "wave" : InStr(media, "midi") ? "midi" : "" if (!func) return func .= isOut ? "Out" : "In" VarSetCapacity(xoc, cbxoc, 0x00) ; Xoc (WAVEOUTCAPS / MIDIOUTCAPS) Loop { result := DllCall("winmm.dll\" func "GetDevCapsA", UInt,uDeviceID, Int,&xoc, UInt,cbxoc, Int) if (result == 2) ; MMSYSERR_BADDEVICEID break if (result == 0) { ; MMSYSERR_NOERROR devName:="" list .= StructGetString(xoc, 8) ; WAVEOUTCAPS と MIDIOUTCAPSのデバイス名称までは構造が同じ . (requireId ? ("`t" uDeviceID) : "") . delim } uDeviceID++ } StringTrimRight, list, list, % StrLen(delim) return list }
- 14 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/02(金) 17:27:03 ID:dpIHoV0B0]
- ■ WaveOutを指定のデバイスIDで変更する
>>13 と組み合わせて使う。 SoundDevice_SetWaveDeviceId(id) { static WAVE_MAPPER:=-1, MMSYSERR_NOERROR:=0 dwPreferedID:=0, dwUsePreferedOnly:=0 if (MMSYSERR_NOERROR == DllCall("winmm.dll\waveOutMessage", UInt,WAVE_MAPPER, UInt,0x2015, UInt,&dwPreferedID, UInt,&dwUsePreferedOnly, Int)) { ret := DllCall("winmm.dll\waveOutMessage", UInt,WAVE_MAPPER, UInt,0x2016, Uint,id, dwUsePreferedOnly, Int) return true } return false }
|

|