Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.22;
Скачать: CL | DM;

Вниз

Использование GRushControls с mmsystem   Найти похожие ветки 

 
VoofT ©   (2006-08-17 21:37) [0]

Если запустить проигрывать mp3 командой mciSendString 1 раз, то все без проблем, но когда скомандуешь stop, close и заново open и play другого файла, то при наведении на кнопку вылетает с ошибкой 216


 
homm ©   (2006-08-18 08:37) [1]

Не сутьба хотябы код привести, не говоря уже о строчки в которой вылетае...


 
VoofT ©   (2006-08-18 18:09) [2]

procedure TForm1.PlayMP3(FileName: string);
begin
 Time.Enabled := False;
 StopMP3();
 CloseMP3();
 OpenMP3(FileName);
 mciSendString("play " + MediaFile, "", 0, 0);
 Time.Interval := GetMP3Length() + 1000;
 Time.Enabled := True;
end;

function TForm1.GetMp3Length(): integer;
var RetLn: PChar;
begin
 New(RetLn);
 mciSendString("status " + MediaFile + " length", RetLn, 128, 0);
 result := Str2Int(RetLn);
end;

procedure TForm1.StopMP3();
begin
 mciSendString("stop " + MediaFile, "", 0, 0);
end;

procedure TForm1.OpenMP3(FileName: string);
var Line: string;
begin
 Line := "open "" + FileName + "" type mpegvideo alias " + MediaFile;
 mciSendString(PChar(Line), "", 0, 0);
end;

procedure TForm1.CloseMP3();
begin
 mciSendString("close " + MediaFile, "", 0, 0);
end;

Один раз делаем PlayMP3 - нормально.
Второй - вылетает.


 
VoofT ©   (2006-08-18 18:10) [3]

MediaFile = константа, отвечающая за название алиаса


 
Vladimir Kladov   (2006-08-20 20:43) [4]

New(RetLn);
- это из какой оперы? Сколько байт выделяется для PChar? (И как только Delphi такое проглатывает).


 
VoofT ©   (2006-08-20 22:44) [5]

Хз, если честно. Я с памятью/указателями только после KOL пользоваться начал, поэтому и прописал это - без этого даже один раз пускаться не хотел.
Может, ее как-нибудь по-другому можно проинициализировать?


 
VoofT ©   (2006-08-21 22:09) [6]

Спасибо, что сказали про New(RetLn) - ее убрал, 128 поменял на 16, а RetLn объявил как array[1..16] of Char


 
D[u]fa ©   (2006-08-22 17:55) [7]


> New(RetLn);
> - это из какой оперы? Сколько байт выделяется для PChar?
>  (И как только Delphi такое проглатывает).


ну скорей всего 4 как для указателя %) или же 1 как для Char %))



Страницы: 1 вся ветка

Текущий архив: 2007.04.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.032 c
1-1172151336
Цукор5
2007-02-22 16:35
2007.04.22
Полная высота TLabel


15-1175012370
начинающий2
2007-03-27 20:19
2007.04.22
Подскажите хорошую бумажную книгу по Interbase


15-1175241462
Ketmar
2007-03-30 11:57
2007.04.22
wine и шрифты


1-1172328976
EgorovAlex
2007-02-24 17:56
2007.04.22
Как лучше сделать межпотоковое взаимодействие: есть несколько


2-1175707626
Новичёк
2007-04-04 21:27
2007.04.22
Как дать pointer со смещением