internal wAudioProvider(AudioDevice device)
        {
            _device = device == null ? wAudioDevice.DefaultPlaybackDevice : device;

            Guid guid = ((wAudioDevice)_device)._guid;
            Win32.DirectSound.DirectSoundCreate8(&guid, out _ds8, IntPtr.Zero);
        }
 public static AudioProvider Create(AudioDevice device)
 {
     switch (Environment.OSVersion.Platform)
     {
         case PlatformID.Win32NT: return new wAudioProvider(device);
         default: return null;
     }
 }
        public static AudioProvider Create(AudioDevice device)
        {
            switch (Environment.OSVersion.Platform)
            {
            case PlatformID.Win32NT:
                if (IntPtr.Size <= 4)
                {
                    return(new wAudioProvider(device));
                }
                break;
            }

            if (device == null)
            {
                try
                {
                    return(new alAudioProvider());
                }
                catch (TypeInitializationException) { }
            }

            return(null);
        }