private static void Update(int device, WasapiInitFlags flags)
        {
            var info       = default(WasapiInfo);
            var deviceInfo = default(WasapiDeviceInfo);

            BassUtils.OK(BassWasapi.GetInfo(out info));
            BassUtils.OK(BassWasapi.GetDeviceInfo(BassWasapi.CurrentDevice, out deviceInfo));
            Info = new BassWasapiDeviceInfo(
                BassWasapi.CurrentDevice,
                deviceInfo.MixFrequency,
                0,
                deviceInfo.MixChannels,
                info.BufferLength,
                GetSupportedFormats(
                    BassWasapi.CurrentDevice,
                    flags
                    ),
                BassWasapi.CheckFormat(
                    BassWasapi.CurrentDevice,
                    deviceInfo.MixFrequency,
                    deviceInfo.MixChannels,
                    flags
                    ),
                device == BassWasapi.DefaultDevice
                );
        }
 public extern static bool Init(int device,
                                int freq,
                                int chans,
                                WasapiInitFlags flags,
                                float buffer         = 0,
                                float period         = 0,
                                WasapiProcedure proc = null,
                                IntPtr User          = default(IntPtr));
Exemple #3
0
 public static extern bool Init(int Device,
                                int Frequency             = 0,
                                int Channels              = 0,
                                WasapiInitFlags Flags     = WasapiInitFlags.Shared,
                                float Buffer              = 0,
                                float Period              = 0,
                                WasapiProcedure Procedure = null,
                                IntPtr User = default(IntPtr));
        private static IDictionary <int, WasapiFormat> GetSupportedFormats(int device, WasapiInitFlags flags)
        {
            var supportedFormats = new Dictionary <int, WasapiFormat>();

            foreach (var rate in OutputRate.PCM)
            {
                var format = BassWasapi.CheckFormat(device, rate, BassWasapi.Info.Channels, flags);
                if (format == WasapiFormat.Unknown)
                {
                    continue;
                }
                supportedFormats.Add(rate, format);
            }
            return(supportedFormats);
        }
Exemple #5
0
 /// <summary>
 /// Initialize.
 /// </summary>
 /// <returns></returns>
 public static bool Init(int Device, int Frequency = 0, int Channels = 0, WasapiInitFlags Flags = WasapiInitFlags.Shared, float Buffer = 0f, float Period = 0f, IntPtr User = default(IntPtr))
 {
     return(BASS_WASAPI_HANDLER_Init(Device, Frequency, Channels, Flags, Buffer, Period, User));
 }
Exemple #6
0
 static extern bool BASS_WASAPI_HANDLER_Init(int Device, int Frequency, int Channels, WasapiInitFlags Flags, float Buffer, float Period, IntPtr User);
 public extern static WasapiFormat CheckFormat(int device, int freq, int chans, WasapiInitFlags flags);
Exemple #8
0
 public static extern WasapiFormat CheckFormat(int Device, int Frequency, int Channels, WasapiInitFlags Flags);