BASS.NET API for the Un4seen BASS Audio Library

BASS_DEVICEINFO Class

BASS.NET API for the Un4seen BASS Audio Library
Inheritance Hierarchy

SystemObject
  Un4seen.BassBASS_DEVICEINFO

Namespace:  Un4seen.Bass
Assembly:  Bass.Net (in Bass.Net.dll) Version: 2.4.17.5
Syntax

[SerializableAttribute]
public sealed class BASS_DEVICEINFO

The BASS_DEVICEINFO type exposes the following members.

Constructors

  NameDescription
Public methodBASS_DEVICEINFO
Default constructor.
Top
Properties

  NameDescription
Public propertyIsDefault
The device is the system default device.
Public propertyIsEnabled
The device is enabled and can be used.
Public propertyIsInitialized
The device is already initialized.
Public propertystatus
The device's current status. A combination of these flags (BASSDeviceInfo):
BASS_DEVICE_ENABLEDThe device is enabled. It will not be possible to initialize the device if this flag is not present.
BASS_DEVICE_DEFAULTThe device is the system default.
BASS_DEVICE_INITThe device is initialized, ie. BASS_Init(Int32, Int32, BASSInit, IntPtr, IntPtr) or BASS_RecordInit(Int32) has been called.
Public propertytype
The type of device:
BASS_DEVICE_TYPE_DIGITALAn audio endpoint device that connects to an audio adapter through a connector for a digital interface of unknown type.
BASS_DEVICE_TYPE_DISPLAYPORTAn audio endpoint device that connects to an audio adapter through a DisplayPort connector.
BASS_DEVICE_TYPE_HANDSETThe part of a telephone that is held in the hand and that contains a speaker and a microphone for two-way communication.
BASS_DEVICE_TYPE_HDMIAn audio endpoint device that connects to an audio adapter through a High-Definition Multimedia Interface (HDMI) connector.
BASS_DEVICE_TYPE_HEADPHONESA set of headphones.
BASS_DEVICE_TYPE_HEADSETAn earphone or a pair of earphones with an attached mouthpiece for two-way communication.
BASS_DEVICE_TYPE_LINEAn audio endpoint device that sends a line-level analog signal to a line-input jack on an audio adapter or that receives a line-level analog signal from a line-output jack on the adapter.
BASS_DEVICE_TYPE_MICROPHONEA microphone.
BASS_DEVICE_TYPE_NETWORKAn audio endpoint device that the user accesses remotely through a network.
BASS_DEVICE_TYPE_SPDIFAn audio endpoint device that connects to an audio adapter through a Sony/Philips Digital Interface (S/PDIF) connector.
BASS_DEVICE_TYPE_SPEAKERSA set of speakers.
Top
Methods

  NameDescription
Public methodToString
A description of the decive info object (name).
(Overrides ObjectToString.)
Top
Fields

  NameDescription
Public fielddriver
The filename of the driver being used... = no driver (ie. "no sound" device).

On systems that can use both VxD and WDM drivers (Windows Me/98SE), this will reveal which type of driver is being used.

Further information can be obtained from the file using the GetFileVersionInfo Win32 API function.

Public fieldflags
The device's current status. A combination of these flags (BASSDeviceInfo):
BASS_DEVICE_ENABLEDThe device is enabled. It will not be possible to initialize the device if this flag is not present.
BASS_DEVICE_DEFAULTThe device is the system default.
BASS_DEVICE_INITThe device is initialized, ie. BASS_Init(Int32, Int32, BASSInit, IntPtr, IntPtr) or BASS_RecordInit(Int32) has been called.
The type of device may also be indicated in the high 8 bits (use BASS_DEVICE_TYPE_MASK to test), and can be one of the following:
BASS_DEVICE_TYPE_DIGITALAn audio endpoint device that connects to an audio adapter through a connector for a digital interface of unknown type.
BASS_DEVICE_TYPE_DISPLAYPORTAn audio endpoint device that connects to an audio adapter through a DisplayPort connector.
BASS_DEVICE_TYPE_HANDSETThe part of a telephone that is held in the hand and that contains a speaker and a microphone for two-way communication.
BASS_DEVICE_TYPE_HDMIAn audio endpoint device that connects to an audio adapter through a High-Definition Multimedia Interface (HDMI) connector.
BASS_DEVICE_TYPE_HEADPHONESA set of headphones.
BASS_DEVICE_TYPE_HEADSETAn earphone or a pair of earphones with an attached mouthpiece for two-way communication.
BASS_DEVICE_TYPE_LINEAn audio endpoint device that sends a line-level analog signal to a line-input jack on an audio adapter or that receives a line-level analog signal from a line-output jack on the adapter.
BASS_DEVICE_TYPE_MICROPHONEA microphone.
BASS_DEVICE_TYPE_NETWORKAn audio endpoint device that the user accesses remotely through a network.
BASS_DEVICE_TYPE_SPDIFAn audio endpoint device that connects to an audio adapter through a Sony/Philips Digital Interface (S/PDIF) connector.
BASS_DEVICE_TYPE_SPEAKERSA set of speakers.
Public fieldid
The driver id resp. interface name being used... = no id (ie. interface name is not available).

Only available on Vista/Win7 systems.

Public fieldname
The description of the device.
Top
Remarks

When a device is disabled/disconnected, it is still retained in the device list, but the BASS_DEVICE_ENABLED flag is removed from it. If the device is subsequently re-enabled, it may become available again with the same device number, or the system may add a new entry for it.

When a new device is connected, it can affect the other devices and result in the system moving them to new device entries. If an affected device is initialized, it will stop working and will need to be reinitialized using its new device number.

Platform-specific

On Windows, driver can reveal the type of driver being used on systems that support both VxD and WDM drivers (Windows Me/98SE). Further information can be obtained from the file via the GetFileVersionInfo function. On Vista and newer, the device's endpoint ID is given rather than its driver filename. On OSX, driver is the device's UID, and on Linux it is the ALSA device name. It is unused on other platforms. The device type is only available on Windows (Vista and newer) and OSX. On Windows, DisplayPort devices will have BASS_DEVICE_TYPE_HDMI rather than BASS_DEVICE_TYPE_DISPLAYPORT.

Depending on the BASS_CONFIG_UNICODE config setting, name and driver can be in ANSI or UTF-8 form on Windows. They are always in UTF-16 form on Windows CE, and UTF-8 on other platforms - note, that Bass.Net always enables the Unicode form and does all the conversion for you by default!

See Also

Reference