BASS_CD_Analog_PlayFile

Starts analog playback of an audio CD track, using a CDA file on the CD.

DWORD BASS_CD_Analog_PlayFile(
    char *file,
    DWORD pos
);

Parameters

fileThe CDA filename... for example, "D:\Track01.cda".
posPosition in frames to start playback from. There are 75 frames per second.

Return value

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

Error codes

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!

Remarks

Some old CD drives may not be able to digitally extract audio data (or not quickly enough to sustain playback), so that it is not possible to use BASS_CD_StreamCreate 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 is 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.

See also

BASS_CD_Analog_GetPosition, BASS_CD_Analog_IsActive, BASS_CD_Analog_Stop, BASS_CD_GetTracks, BASS_CD_StreamCreateFile