JD2022-TU1/main/tools/extern/NAudio/Source/NAudioTests/Wasapi/MMDeviceEnumeratorTests.cs

70 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
using NUnit.Framework;
using NAudio.CoreAudioApi;
using System.Diagnostics;
using NAudioTests.Utils;
namespace NAudioTests.Wasapi
{
[TestFixture]
[Category("IntegrationTest")]
public class MMDeviceEnumeratorTests
{
[Test]
public void CanCreateMMDeviceEnumeratorInVista()
{
OSUtils.RequireVista();
MMDeviceEnumerator enumerator = new MMDeviceEnumerator();
}
[Test]
public void CanEnumerateDevicesInVista()
{
OSUtils.RequireVista();
MMDeviceEnumerator enumerator = new MMDeviceEnumerator();
foreach (MMDevice devices in enumerator.EnumerateAudioEndPoints(DataFlow.All,DeviceState.All))
{
Debug.WriteLine(devices);
}
}
[Test]
public void CanEnumerateCaptureDevices()
{
OSUtils.RequireVista();
MMDeviceEnumerator enumerator = new MMDeviceEnumerator();
foreach (MMDevice device in enumerator.EnumerateAudioEndPoints(DataFlow.Capture, DeviceState.All))
{
Debug.WriteLine(String.Format("{0}, {1}", device.FriendlyName, device.State));
}
}
[Test]
public void CanGetDefaultAudioEndpoint()
{
OSUtils.RequireVista();
MMDeviceEnumerator enumerator = new MMDeviceEnumerator();
MMDevice defaultAudioEndpoint = enumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Console);
Assert.IsNotNull(defaultAudioEndpoint);
}
[Test]
public void CanActivateDefaultAudioEndpoint()
{
OSUtils.RequireVista();
MMDeviceEnumerator enumerator = new MMDeviceEnumerator();
MMDevice defaultAudioEndpoint = enumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Console);
AudioClient audioClient = defaultAudioEndpoint.AudioClient;
Assert.IsNotNull(audioClient);
}
[Test]
public void ThrowsNotSupportedExceptionInXP()
{
OSUtils.RequireXP();
Assert.Throws<NotSupportedException>(() => new MMDeviceEnumerator());
}
}
}