Sets up an MP3 encoder on a channel.
HENCODE BASS_Encode_MP3_Start( DWORD handle, char *options, DWORD flags, ENCODEPROCEX *proc, void *user );
handle | The channel handle... a HSTREAM, HMUSIC, or HRECORD. | ||||||||||||
options | Encoder options... NULL = use defaults. The following LAME style options are supported: -b, -B, -v, -V, -q, -m, --abr, --preset, --alt-preset, -Y, --resample, -p, -t, --tt, --ta, --tl, --ty, --tc, --tn, --tg, --ti, --tv, --add-id3v2, --id3v1-only, --id3v2-only, --pad-id3v2, --pad-id3v2-size, --noreplaygain. Anything else that is included will be ignored. See the LAME documentation for details on the aforementioned options and defaults. | ||||||||||||
flags | A combination of these flags.
| ||||||||||||
proc | Optional callback function to receive the encoded data... NULL = no callback. | ||||||||||||
user | User instance data to pass to the callback function. |
BASS_ERROR_HANDLE | handle is not valid. |
BASS_ERROR_FORMAT | The channel's sample format is not supported by the encoder. |
BASS_ERROR_ILLPARAM | options contains an invalid setting. |
BASS_ERROR_FILEOPEN | A "--ti" option file could not be opened. |
BASS_ERROR_FILEFORM | A "--ti" option file has an invalid format. It needs to be JPEG, PNG, or GIF. |
BASS_ERROR_MEM | There is insufficient memory. |
BASS_ERROR_NOTAVAIL | This function is not available on platforms/architectures without an FPU. |
BASS_ERROR_UNKNOWN | Some other mystery problem! |
Each tag should be in either UTF-8 or ISO-8859-1 form (or UTF-16 when the BASS_UNICODE flag is used). ISO-8859-1 tags can be stored in ID3v1 and ID3v2 tag blocks. Unicode tags can only be stored in ID3v2 tag blocks. An ID3v2 tags block will be added automatically when required by the tags, otherwise only an ID3v1 tag block will added by default; this can be changed in options.
BASS_Encode_CastInit, BASS_Encode_IsActive, BASS_Encode_ServerInit, BASS_Encode_SetNotify, BASS_Encode_SetPaused, BASS_Encode_Stop, BASS_Encode_Write, ENCODEPROCEX callback, BASS_CONFIG_ENCODE_PRIORITY