Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2010, 13:34   #1
ViNcHeStEr
Delphi
Форумчанин
 
Регистрация: 12.06.2008
Сообщений: 137
По умолчанию Delphi и VLC Player - программное переключение каналов

Всем привет!
Для запуска VLC Player используется следующий код:
Код:
winexec(PChar('"'+strPath+'" -vvv '+'"'+lbURL.Items.Strings[lbURL.ItemIndex]+'"'+' -I http --high-priority  --miface-addr='+strInterface),sw_show);
Если его выполнить ещё раз, то будет выдано сообщение о невозможности запуска второй копии программы VLC Player, но мне это и не нужно.

Вопрос: как сделать программное переключение каналов из Delphi в VLC Player.

Пример: VLC Player запущен, выбираем другой канал (в программе на Delphi), нажимаем "Смотреть" (в программе на Delphi), выполняется код, канал переключается.
ViNcHeStEr вне форума Ответить с цитированием
Старый 03.01.2010, 13:53   #2
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Смотрим коды сообщений в Spy++.
Потом SendMessage этих сообщений в окно VLC.
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 03.01.2010, 14:08   #3
ViNcHeStEr
Delphi
Форумчанин
 
Регистрация: 12.06.2008
Сообщений: 137
По умолчанию

Цитата:
Смотрим коды сообщений в Spy++.
Handle 00160280 - это и есть код сообщения?

Цитата:
Потом SendMessage этих сообщений в окно VLC.
Это вообще непонял, пожалуйста поподробнее.
ViNcHeStEr вне форума Ответить с цитированием
Старый 03.01.2010, 14:33   #4
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Это хэндл вашего приложения. У меня нету VLC, но я думаю что вам надо смотреть сообщения WM_COMMAND и WM_APPCOMMAND.
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 03.01.2010, 18:02   #5
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Еще как вариант: у VLC открытые исходники, измените интерфейс под свои нужды, и пользуйтесь себе в некоммерческих целях.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 03.01.2010, 18:08   #6
ViNcHeStEr
Delphi
Форумчанин
 
Регистрация: 12.06.2008
Сообщений: 137
По умолчанию

Вот в этой теме нашёл такой пример.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
h:hwnd;
begin
h:=findwindow('WMPlayerApp',nil);
//sendmessage(h,wm_command,$4979,0);//Стоп
//sendmessage(h,wm_command,$4978,0);//Play/pause
//sendmessage(h,wm_command,$497B,0);//Следующая песня
//sendmessage(h,wm_command,$497A,0);//Предыдущая
//sendmessage(h,wm_command,$497D,0);//Промотать вперед
end;

$4980//Убавить громкость
$497F//Прибавить громкость
$4981//Выключить звук
Непонятно, откуда берётся $4979, $4978, $497A и т.д.
Если можно выложите скриншот.
ViNcHeStEr вне форума Ответить с цитированием
Старый 03.01.2010, 18:11   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Непонятно, откуда берётся $4979, $4978, $497A и т.д.
Spy++
и прочие подобные проги.

тока это для Windows Media Player
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 03.01.2010 в 18:13.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.01.2010, 18:17   #8
ViNcHeStEr
Delphi
Форумчанин
 
Регистрация: 12.06.2008
Сообщений: 137
По умолчанию

Я смотрел в Spy++, но не могу понять где именно.
А на какой вкладке надо смотреть? General, Styles, Properties, Class, Windows, Process?
ViNcHeStEr вне форума Ответить с цитированием
Старый 03.01.2010, 18:19   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вы смотрите не св-ва окна, а его сообщения
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.01.2010, 19:50   #10
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

http://i068.radikal.ru/1001/3d/c834ed6b9e50.jpg
http://s41.radikal.ru/i091/1001/e3/d5534f97305d.jpg
Дальше думаю сами разберетесь.
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Включение\отключение каналов SanekIrk Мультимедиа в Delphi 1 19.10.2009 17:10
Переключение между формами (Delphi) Zo0M Помощь студентам 3 09.07.2009 09:05
MP3 Player в Delphi PRIVIDENIE18 Мультимедиа в Delphi 4 08.04.2009 14:18
программное переключение словаря при проверке орфографии методами MS Word tojhto Общие вопросы Delphi 2 06.09.2008 01:54
Пишу Media Player (помогите) Delphi Reani Помощь студентам 4 12.06.2008 11:51