/// <summary> /// Initializes a DirectSound device by its identifier, using the specified sample rate (frequency) /// and initialization flags. To get the deviceId, use the DeviceHelper class. /// </summary> /// <param name="deviceId">Device identifier</param> /// <param name="frequency">Sample rate (in Hz)</param> /// <param name="init">Intiailization flags</param> public static void Init(int deviceId, int frequency, BASSInit init) { // Initialize system if (!Bass.BASS_Init(deviceId, frequency, init, IntPtr.Zero)) { // Check for error (throw exception if the error is found) CheckForError(); } }
public static void InitBass([CanBeNull] BASS_DEVICEINFO deviceinfo = null, int frequency = 44100, BASSInit flags = BASSInit.BASS_DEVICE_DEFAULT) { if (IsInitialized) return; Bass.BASS_Init(deviceinfo == null ? -1 : SoundDevice.GetDevice(deviceinfo), frequency, flags, IntPtr.Zero) .CheckBass(); IsInitialized = true; }
/// <summary> /// Initializes an ASIO device by its identifier, using the specified sample rate (frequency) /// and initialization flags. To get the deviceId, use the DeviceHelper class. /// </summary> /// <param name="deviceId">Device identifier</param> /// <param name="frequency">Sample rate (in Hz)</param> /// <param name="init">Intiailization flags</param> /// <param name="asioInit">ASIO initialization flags</param> public static void Init(int deviceId, int frequency, BASSInit init, BASSASIOInit asioInit) { // Initialize base device if (!Bass.BASS_Init(-1, frequency, init, IntPtr.Zero)) { // Check for error (throw exception if the error is found) Base.CheckForError(); } // Initialize ASIO device if (!BassAsio.BASS_ASIO_Init(deviceId, asioInit)) { // Check for error (throw exception if the error is found) Base.CheckForError(); } }
/// <summary> /// Initializes a WASAPI device by its identifier, using the specified sample rate (frequency) /// and initialization flags. To get the deviceId, use the DeviceHelper class. Requires a data callback. /// </summary> /// <param name="deviceId">Device identifier</param> /// <param name="frequency">Sample rate (in Hz)</param> /// <param name="channels">Number of channels</param> /// <param name="init">Intiailization flags</param> /// <param name="wasapiInit">WASAPI initialization flags</param> /// <param name="buffer">Buffer size</param> /// <param name="period">Update period</param> /// <param name="proc">WASAPI callback</param> public static void Init(int deviceId, int frequency, int channels, BASSInit init, BASSWASAPIInit wasapiInit, float buffer, float period, WASAPIPROC proc) { // Initialize base device if (!Bass.BASS_Init(-1, frequency, init, IntPtr.Zero)) { // Check for error (throw exception if the error is found) Base.CheckForError(); } // Initialize WASAPI device if (!BassWasapi.BASS_WASAPI_Init(deviceId, frequency, 2, wasapiInit, buffer, period, proc, IntPtr.Zero)) { // Check for error (throw exception if the error is found) Base.CheckForError(); } }
/// <summary> /// Initializes an output device /// </summary> /// <param name="device">The device to use... -1 = default device, 0 = no sound, 1 = first real output device. BASS_GetDeviceInfo can be used to enumerate the available devices. </param> /// <param name="freq">Output sample rate</param> /// <param name="flags">A combination of these flags</param> public static void Init(int device, int freq, BASSInit flags = BASSInit.BASS_DEVICE_DEFAULT) { Init(device, freq, flags, IntPtr.Zero, IntPtr.Zero); }
/// <summary> /// Initializes an output device /// </summary> /// <param name="device">The device to use... -1 = default device, 0 = no sound, 1 = first real output device. BASS_GetDeviceInfo can be used to enumerate the available devices. </param> /// <param name="freq">Output sample rate</param> /// <param name="flags">A combination of these flags</param> /// <param name="win">The application's main window... 0 = the desktop window (use this for console applications). This is only needed when using DirectSound output</param> public static void Init(int device, int freq, BASSInit flags, IntPtr win) { Init(device, freq, flags, win, IntPtr.Zero); }
private BassLib(BASSInit options, IntPtr hwind) { Bass.BASS_Init(-1, 44100, options, hwind); }
public static bool BASS_Init(int device, int freq, BASSInit flags, IntPtr win) { return BASS_Init(device, freq, flags, win, IntPtr.Zero); }
public static extern bool BASS_Init(int device, int freq, BASSInit flags, IntPtr win, Guid clsid);
/// <summary> /// Constructor for BASSEngine /// </summary> /// <param name="device">Device to use (0=first, -1=default, -2=no sound)</param> /// <param name="freq">Output sample rate</param> /// <param name="flags">DeviceSetupFlags for device initialization</param> /// <param name="window"> Owner window (0=current foreground window)</param> /// <remarks> /// The "no sound" device (device=-2), allows loading /// and "playing" of MOD musics only (all sample/stream /// functions and most other functions fail). This is so /// that you can still use the MOD musics as synchronizers /// when there is no soundcard present. When using device -2, /// you should still set the other arguments as you would do /// normally. /// </remarks> public BASSEngine(int device, int freq, BASSInit flags, [CanBeNull] IWindow window) { Init(device, freq, flags, window != null ? window.Handle : IntPtr.Zero); _window = window; }
public bool Init(int deviceNumber, int sampleRate, BASSInit flags) { return Bass.BASS_Init(deviceNumber, sampleRate, flags, IntPtr.Zero); }
public static extern bool BASS_Init(int device, int freq, BASSInit flags, IntPtr win, [In, MarshalAs(UnmanagedType.AsAny)] object clsid);
public DirectXOutputDevice(Controller controller) { _controller = controller; _DeviceState = DeviceState.Stopped; _StreamWriteProcDelegate = new STREAMPROC(OutputStreamWriteProc); _Silence = new Silence(); _DeviceNo = GetDeviceNo(); BASSInit flags = BASSInit.BASS_DEVICE_DEFAULT; // Because all deviceinfo is saved in a static dictionary, // we need to determine the latency only once. if (!_DeviceInfos.ContainsKey(_DeviceNo)) { flags |= BASSInit.BASS_DEVICE_LATENCY; } bool result = Bass.BASS_Init( _DeviceNo, 44100, //Only relevant for -> pre-XP (VxD drivers) flags, IntPtr.Zero); BASSError?bassInitErrorCode = result ? null : new BASSError?(Bass.BASS_ErrorGetCode()); // If the GetDeviceNo() method returned BassConstants.BassDefaultDevice, we must request the actual device number // of the choosen default device _DeviceNo = Bass.BASS_GetDevice(); if (bassInitErrorCode.HasValue) { if (bassInitErrorCode.Value == BASSError.BASS_ERROR_ALREADY) { if (!Bass.BASS_SetDevice(_DeviceNo)) { throw new BassLibraryException("BASS_SetDevice"); } bassInitErrorCode = null; } } if (bassInitErrorCode.HasValue) { throw new BassLibraryException("BASS_Init", bassInitErrorCode.Value); } CollectDeviceInfo(_DeviceNo); int ms = Convert.ToInt32(Controller.GetSettings().DirectSoundBufferSize.TotalMilliseconds); if (!Bass.BASS_SetConfig(BASSConfig.BASS_CONFIG_BUFFER, ms)) { throw new BassLibraryException("BASS_SetConfig"); } // Enable update thread while the output device is active if (!Bass.BASS_SetConfig(BASSConfig.BASS_CONFIG_UPDATEPERIOD, ms / 4)) { throw new BassLibraryException("BASS_SetConfig"); } }
public void Initialize(int SelectedDeviceId,int SelectedFreq, BASSInit SelectedFlags) { Bass.BASS_Free(); Bass.BASS_Init(SelectedDeviceId, SelectedFreq, SelectedFlags, IntPtr.Zero, ClsIdA3d); }
/// <summary> /// Инициализация звуковой карты в стандартном режиме. /// </summary> /// <param name="SoundCard"></param> /// <param name="BitRate"></param> /// <param name="DeviceProperties"></param> public static void Initiate(int SoundCard = -1, int BitRate = 44100, BASSInit DeviceProperties = BASSInit.BASS_DEVICE_DEFAULT) { Bass.BASS_Init(SoundCard, BitRate, DeviceProperties, IntPtr.Zero); }
public bool Init(int deviceNumber, int sampleRate, BASSInit flags) { return(Bass.BASS_Init(deviceNumber, sampleRate, flags, IntPtr.Zero)); }
/// <summary> /// 初始化声音输出设备 /// </summary> /// <param name="device"> -1 = default device, 0 = no sound, 1 = first real output device. BASS_GetDeviceInfo can be used to enumerate the available devices. </param> /// <param name="freq">输出率</param> /// <param name="flags">A combination of these flags</param> public static void InitDevice(int device, int freq, BASSInit flags) { WavHelper.Init(device, freq, flags); }
private void Init(int device, int freq, BASSInit flags, IntPtr hwnd) { if (_disposed) throw new ObjectDisposedException("BASSEngine"); if (!Bass.BASS_Init(device, freq, flags, hwnd)) throw new BASSException(); }
public static extern bool BASS_Init(int device, int freq, BASSInit flags, IntPtr win, IntPtr clsid);
/// <summary> /// Инициализация звуковой карты в стандартном режиме. /// </summary> /// <param name="SoundCard"></param> /// <param name="BitRate"></param> /// <param name="DeviceProperties"></param> public static void Initiate(int SoundCard = -1, int BitRate = 44100, BASSInit DeviceProperties = BASSInit.BASS_DEVICE_DEFAULT) { BassAsio.BASS_ASIO_Init(SoundCard, BASSASIOInit.BASS_ASIO_DEFAULT); }