Example #1
0
 /// <summary>Plays the specified device.</summary>
 /// <param name="device">The device.</param>
 /// <param name="volume">The volume.</param>
 public void Play(IAudioDevice device, float volume = 1)
 {
     using (var audioOut = device.CreateAudioOut(Config))
     {
         audioOut.Volume = volume;
         Play(audioOut);
     }
 }
        IAudioDevice SelectDevice()
        {
            IAudioAPI[]         apis    = AudioAPI.GetAvailableAudioAPIs();
            List <IAudioDevice> devices = GetDevices(apis);

            foreach (var device in devices)
            {
                try
                {
                    this.LogDebug("Trying Audio API <cyan>{0}<default> Device <cyan>{1}", device.API, device);
                    using (AudioOut check = device.CreateAudioOut(new AudioConfiguration(44100, AudioSampleFormat.Int16, 2)))
                    {
                        this.LogInfo("Selecting Audio API <cyan>{0}<default> Device <cyan>{1}", device.API, device);
                        return(device);
                    }
                }
                catch (Exception ex)
                {
                    this.LogWarning(ex, "Cannot startup audio device <red>{0}", device);
                }
            }
            return(null);
        }