Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.048 c
2-1184647927
Knob
2007-07-17 08:52
2007.08.12
Регулировка звука


2-1184158240
AZIZE
2007-07-11 16:50
2007.08.12
перегрузка операций


2-1184135112
Б.А.С.
2007-07-11 10:25
2007.08.12
Программный вход в систему


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


15-1184692404
TruePunk
2007-07-17 21:13
2007.08.12
MMS





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский