Сразу не заметил
Цитата:
Сообщение от TEKTON
...Но некоторые коды у меня не работают.
Может мне какая урезанная версия uFmod досталась...
Не работает:
Function uFMOD_PlayFile,
Function uFMOD_PlayMem,
Function uFMOD_PlayRes
...
Работают тока:
Function uFMOD_PlaySong, (Этой кстати нет в том хелпе на который ссылку привёл. Может у меня какая старая версия uFmod*а ).
Function uFMOD_Pause,
Function uFMOD_Resume,
Function uFMOD_Stop...
|
И не будут работать, поскольку файл импорта (ufmod.inc) их описания не содержит, а вот тамошняя uFMOD_PlaySong как раз инкаспулирует в себе их всех сразу, просто нужно передавать в неё нужные значения в соответствии с ейной орфографией, напр., чтоб файло проиграть, нужно делать примерно так
Код:
var
fn: string;
begin
fn:= 'some.xm';
uFMOD_PlaySong(Pointer(fn), 0, XM_FILE);
end;
с ресурсом тоже самое: сначало необходимо создать *.res файл с мелодией, тысячи примеров у нас на форуме про то, как это делать есть, главное чтоб она обязательно под типом RT_RCDATA лежала, подключить его к проекту, а дальше, с ключом XM_RESOURCE так же в функцию передаётся имя ресурса как и имя файла, поинтером
З.Ы. Ну и вдруг если время воспроизведения потребуется, то тогда можно сделать примерно так: кинуть на форму таймер и лейбл, последним добавить вот такое
Код:
function LenPlay(ds: integer): string;
var
hour, min, sec: integer;
begin
ds:= ds div 1000;
min := ds div 60;
hour:= min div 60;
if min > 60 then min:= min mod 60;
sec := ds mod 60;
Result:= FormatDateTime('h:mm:ss', EncodeTime(hour, min, sec, 0));
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
label1.Caption:= LenPlay(uFMOD_GetTime);
end;