BASS.NET API for the Un4seen BASS Audio Library

BassCdBASS_CD_Analog_PlayFile Method (String, Int32)

BASS.NET API for the Un4seen BASS Audio Library
Starts analog playback of an audio CD track, using a CDA file on the CD.

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

[DllImportAttribute("basscd")]
public static int BASS_CD_Analog_PlayFile(
	string file,
	int pos
)

Parameters

file
Type: SystemString
The CDA filename... for example, "D:\Track01.cda".
pos
Type: SystemInt32
Position (in frames) to start playback from. There are 75 frames per second.

Return Value

Type: Int32
If successful, the number of the drive being used is returned, else -1 is returned. Use BASS_ErrorGetCode to get the error code.
Remarks

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).

ERROR CODEDescription
BASS_ERROR_FILEOPENThe file could not be opened.
BASS_ERROR_FILEFORMThe file was not recognised as a CDA file.
BASS_ERROR_DEVICEThe drive could not be found.
BASS_ERROR_POSITIONpos is invalid.
BASS_ERROR_UNKNOWNSome other mystery problem!

Examples

Play track 3 on drive D:, starting at the 10 second point:
int drive = BassCd.BASS_CD_Analog_PlayFile("D:\\Track03.cda", 10 * 75);
See Also

Reference