waveOutGetVolume関数の呼び出し方について
解決したいこと
win32apiのwaveOutGetVolume関数をPythonから呼び出そうとしているのですがデバイス識別子ってどうやって取得するのでしょうか。
ドキュメントを見てみるとデバイス識別子を指定するそうなのですが、デバイス識別子の取得方法がわかりません。
現在のコード
import ctypes
from ctypes import windll
def get_volume() -> int:
vol = ctypes.c_long() # この変数のポインタを指定して関数を実行
windll.winmm.waveOutGetVolume(ctypes.c_wchar_p("デバイス識別子?"), ctypes.pointer(vol))
return vol.value
print(get_volume()) # 結果は0
自分で試したこと
デバイスマネージャーからハードウェアIDや表示名を試してみたのですが、実行しても0しか出力されませんでした。
デバイス識別子の取得方法と、指定方法はctypes.c_wchar_p()
でいいのか教えてください。(ちなみにC言語を触った経験はないです)
0