Главная страница
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.048 c
1-1172750179
S@shka
2007-03-01 14:56
2007.04.22
Диспетчер задач / Память процесса


15-1174822851
Riply
2007-03-25 15:40
2007.04.22
Великолепный способ ведения дискуссий.


2-1175511389
DelphiLexx
2007-04-02 14:56
2007.04.22
Правильно обработать OnCreate при динамическом создании формы


1-1172427326
Dmitry_177
2007-02-25 21:15
2007.04.22
Убрать тень от своего курсора в программе


2-1175119886
ppcumax
2007-03-29 02:11
2007.04.22
Как перемешать слова в Memo