Assembly: Bass.Net (in Bass.Net.dll) Version: 220.127.116.11
[DllImportAttribute("basscd")] public static int BASS_CD_Analog_PlayFile( string file, int pos )
<DllImportAttribute("basscd">] Public Shared Function BASS_CD_Analog_PlayFile ( file As String, pos As Integer ) As Integer
- Type: SystemString
The CDA filename... for example, "D:\Track01.cda".
- Type: SystemInt32
Position (in frames) to start playback from. There are 75 frames per second.
Return ValueType: Int32
If successful, the number of the drive being used is returned, else -1 is returned. Use BASS_ErrorGetCode to get the error code.
Some old CD drives may not be able to digitally extract audio data (or not quickly enough to sustain playback), so that it's not possible to use BASS_CD_StreamCreate(Int32, Int32, BASSFlag) to stream CD tracks. This is where the analog playback option can come in handy.
In analog playback, the sound bypasses BASS - it goes directly from the CD drive to the soundcard (assuming the drive is cabled up to the soundcard). This means that BASS output does not need to be initialized to use analog playback. It also means it's not possible to apply any DSP/FX to the sound, and nor is it possible to visualise it (unless you record the sound from the soundcard).
Analog playback is not possible while digital streaming is in progress - the streaming will kill the analog playback. So if you wish to switch from digital to analog playback, you should first free the stream using BASS_StreamFree(Int32).
|BASS_ERROR_FILEOPEN||The file could not be opened.|
|BASS_ERROR_FILEFORM||The file was not recognised as a CDA file.|
|BASS_ERROR_DEVICE||The drive could not be found.|
|BASS_ERROR_POSITION||pos is invalid.|
|BASS_ERROR_UNKNOWN||Some other mystery problem!|
Dim drive As Integer = BassCd.BASS_CD_Analog_PlayFile("D:\Track03.cda", 10 * 75)
int drive = BassCd.BASS_CD_Analog_PlayFile("D:\\Track03.cda", 10 * 75);