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 | The flags supported by BASS_Encode_StartUser may be used here, but the floating-point conversion flags are ignored. |
| 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_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