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

Вниз

MediaPlayer и TCPServer   Найти похожие ветки 

 
Квэнди ©   (2007-07-13 15:34) [0]

Исопльзую вот такой код:
procedure TForm13.Button1Click(Sender: TObject);
begin
MediaPlayer1.FileName:="D:\Documents and Settings\Pavel\Рабочий стол\eva.mp3";
MediaPlayer1.Open;
MediaPlayer1.Play;
end;

procedure TForm13.IdTCPServer1Connect(AThread: TIdPeerThread);
begin
AThread.Connection.Write("f");
end;

procedure TForm13.IdTCPServer1Execute(AThread: TIdPeerThread);
var s:string;
begin
s:=trim(AThread.Connection.Readln);
if pos("pause",s)<>0 then
 MediaPlayer1.Pause;
AThread.Connection.Disconnect;
end;

проверяю, запускаю, начинает проигрываться файл, захожу к себе телнетом на порт, который биндю, посылаю паузу (при трассировке видно, что событие срабатывает, условие корректно) , выполняется строка MediaPlayer1.Pause; но музыка как игралась, так и играется дальше. Не подскажете в чем проблема и как это решить ?


 
Сергей М. ©   (2007-07-13 15:38) [1]


> в чем проблема


В том что обработчик OnExecute выполняется НЕ в основном потоке.


> как это решить ?


Вызывать методы плейера в том же потоке, в котором он был тобой создан - в основном.


 
Квэнди ©   (2007-07-13 15:41) [2]

Через синхронайз или как ? можете описать примером ?


 
Сергей М. ©   (2007-07-13 15:45) [3]


> Через синхронайз или как ?


До "синхронайза" ты вряд ли просто так доберешься.

Есть резон слать форме с пом. PostMessage() некое предопределенное сообщение а-ля MYMESSAGE_PAUSE, по получении которого форма в коде обработчика этого сообщения собссно и переведет плейер в требуемое состояние



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

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

Наверх




Память: 0.47 MB
Время: 0.029 c
1-1181064800
gusknure
2007-06-05 21:33
2007.08.12
help me


3-1177505762
SerMaxx
2007-04-25 16:56
2007.08.12
Вопрос по Update полей через TQuery


2-1184249071
GeLLeR
2007-07-12 18:04
2007.08.12
Микрофон


1-1181049672
maxistent
2007-06-05 17:21
2007.08.12
Импорт процедур из EXE...


2-1184748455
Groza
2007-07-18 12:47
2007.08.12
Как поменять метку диска с помощью Delphi?