Window 소리 설정에 있는 정보를 가져올 수 있습니다.
public class Win32
{
[DllImport("winmm.dll", SetLastError = true)]
static extern uint waveOutGetNumDevs();
[DllImport("winmm.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern uint waveOutGetDevCaps(uint hwo, ref WAVEOUTCAPS pwoc, uint cbwoc);
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public struct WAVEOUTCAPS
{
public ushort wMid;
public ushort wPid;
public uint vDriverVersion;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string szPname;
public uint dwFormats;
public ushort wChannels;
public ushort wReserved1;
public uint dwSupport;
}
public static string[] GetSoundDevices()
{
uint devices = waveOutGetNumDevs();
string[] result = new string[devices];
WAVEOUTCAPS caps = new WAVEOUTCAPS();
for (uint i = 0; i < devices; i++)
{
waveOutGetDevCaps(i, ref caps, (uint)Marshal.SizeOf(caps));
result[i] = caps.szPname;
}
return result;
}
}
result[0] 은 현재 재생 중인 스피커의 정보를 가지고 있습니다.
디바이스 변경될 때마다 변경된 값으로 리턴이 됩니다.
'Programming 개발은 구글로 > C#[WPF]' 카테고리의 다른 글
C#[WPF] Window 알림 콘텐츠 (0) | 2022.04.25 |
---|---|
C#[WPF] 내문서 폴더 경로 가져오기 (0) | 2022.04.24 |
C#[WPF] CaptureMouse (0) | 2022.04.18 |
C#[WPF] HID 통신 모니터링 프로그램(Data 패킷) (0) | 2022.04.14 |
[WPF 활용] ColorPicker (0) | 2022.04.12 |
댓글