Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 369

/ вопрос открыт /

Здравствуйте, эксперты!
Помогите пожалуйста. Я использую компонент ActiveX TWindowsMediaPlayer. При создании форми идет конект к базе на сервере мускул, от туда вытягиваются имена файлов и формируется файл wpl (плейлист). Как мне этот плейлист запихнуть в WindowsMediaPlayer. Тоесть, все это должно происходить при создании формы, и ище, чтоб этот плейлист проигрывался по колу. Зарание спасибо!

mate Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: mate (статус: Посетитель)
Вопрос отправлен: 5 ноября 2009, 15:15
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

Ты с парсерами не работал, а я - с плеерами. Но всё же попробую. Тебе нужно просто извлечь список файлов, имена которых находятся после "
Я щас взял демо к компоненту TECXMLParser и скормил ему твой файл. 100% работает. Прицепляю парсер к ответу. Демо (XML Browser) посмотри в первую очередь.
К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 5 ноября 2009, 16:20
Оценка за ответ: 3


Мини-форум вопроса

Всего сообщений: 71; последнее сообщение — 12 ноября 2009, 11:56; участников в обсуждении: 4.

Страницы: [« Предыдущая] [1] [2] [3] [4] [Следующая »]

mate

mate (статус: Посетитель), 8 ноября 2009, 14:46 [#21]:

к тебе min@y™.
min@y™

min@y™ (статус: Доктор наук), 8 ноября 2009, 14:48 [#22]:

Цитата (mate):

к тебе


Ну спрашивай тады.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
mate

mate (статус: Посетитель), 8 ноября 2009, 14:58 [#23]:

ты говорил, что предлагаешь мне альтернативний выход, скармливать файлы пллеру по очереди.......а как мне узнать, что предыдущий файл уже закончил свое проигрывание, и надо начинать проигрывать новый файл?
min@y™

min@y™ (статус: Доктор наук), 8 ноября 2009, 15:11 [#24]:

Документация по TWindowsMediaPlayer есть?
СВойства/методы/события посмотреть можно?

Блин, пришлось поставить компонент. Ёкарный бабай, посмотри сколько у него событий! Судя по их именам, тебе нужно юзать событие OnPlayStateChange, куда передаётся параметр NewState: Integer.
Ещё есть событие OnStatusChange.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
min@y™

min@y™ (статус: Доктор наук), 8 ноября 2009, 15:16 [#25]:

Вот ещё ссылку тебе нашёл, почитай.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
mate

mate (статус: Посетитель), 8 ноября 2009, 15:27 [#26]:

документации по TWindowsMediaPlayer не нашол........а за ссылочку большое спасибо, за 3 извини.........завтра буду пытатся зделать что-то.......и ище, мне не в прикол писать просто плеер, здесь фишка в другом, наполнение плейлиста будет происходить через Web-интерфейс...есть видеоролики со звуком и без звука, если попадается ролик без звука, то надо одновременно с ним проиграть какие-то mp3, заранее привязание в базе к даному ролику.......ну и все это должно работать так, запускаем екзешник, ни весь экран разворачивается плеер, и идет по списку, по окончанию плейлиста, проигрывает его снова....
min@y™

min@y™ (статус: Доктор наук), 8 ноября 2009, 15:30 [#27]:

Цитата (mate):

за 3 извини


Испортил мне средний балл (был 5.00). Лучше бы вообще оценку не ставил. Головой думай.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
mate

mate (статус: Посетитель), 9 ноября 2009, 15:24 [#28]:

юзал я событие OnPlayStateChange, ловлю момент когда файл заканчивает играть, но второй воспроизвести никак не могу....параметр NewState: Integer выдает следующие значения в порядке проигрывания: 9, 0, 9, 9, 3-проигрывание, 8 - конец проигрывания, 9, 1.....вот, когда ловлю 8 - прописываю новый URL, и плеер переходит в стан готовности, но файл не проигрывае, даже если указываю - mediaplayer.controls.play, если кликнуть по кнопке Plаy, то проигрывается новый файл, который я прописал по событию.....в чем здесь засада?
min@y™

min@y™ (статус: Доктор наук), 9 ноября 2009, 15:44 [#29]:

Ты страницу, ссылку на которую я давал, читал?
Если нет - прочитай внимательно. Если да - прочитай внимательно ещё раз.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Вадим К

Вадим К (статус: Академик), 9 ноября 2009, 15:46 [#30]:

Наверно плееру надо дать чуточку времени. просто на момент, когда просите его начать играть, он ещё не готов.
попробуйте дать
sleep(1)
Application.ProcessMessage;
mediaplayer.controls.play;

(sleep(1) здесь это как бы не пауза, а просто указание планировщику переключить задачу)
Галочка "подтверждения прочтения" - вселенское зло.
mate

mate (статус: Посетитель), 9 ноября 2009, 16:29 [#31]:

sleep(1)
Application.ProcessMessage;
mediaplayer.controls.play;
это не работает.....
Для min@y™: читал я эту страницу, но не понял как ловить wm_user, и как это вообще делаетсяя....
min@y™

min@y™ (статус: Доктор наук), 9 ноября 2009, 16:43 [#32]:

Цитата (mate):

не понял как ловить wm_user, и как это вообще делаетсяя....


Ну, например, в Application.OnMessage.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
mate

mate (статус: Посетитель), 9 ноября 2009, 16:55 [#33]:

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
что именно здесь надо написать?
end;

и что делать с этим wm_user?
min@y™

min@y™ (статус: Доктор наук), 9 ноября 2009, 17:03 [#34]:

Цитата (mate):

что именно здесь надо написать?

if Msg.Message = WM_USER
  then mediaplayer.controls.play();

Цитата (mate):

и что делать с этим wm_user?


Остальное - читай по ссылке выше.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
mate

mate (статус: Посетитель), 10 ноября 2009, 12:54 [#35]:

спасибо большое, разобрался.......но возника ище одна проблема, в свойствах windowsmeiapleyer fullscreen ставлю в значение true. При запуске приложения автоматически плейлист загружается в listbox и начинае проигрыватся первый в списке....тут все нормально, идет в полноэкранном режиме, но когда первый файл заканчавает играть, и должен играть второй, то вываливает ошыбку: "Разрушительный сбой"......в чем здесь проблема?
Вадим К

Вадим К (статус: Академик), 10 ноября 2009, 12:59 [#36]:

а listBox в этот момент не виден на экране?
Галочка "подтверждения прочтения" - вселенское зло.
mate

mate (статус: Посетитель), 10 ноября 2009, 13:03 [#37]:

если я задаю fullscreen=true, то плеер разворачивается на весь экран, и ни кнопки ни listBox не видны....
min@y™

min@y™ (статус: Доктор наук), 10 ноября 2009, 13:06 [#38]:

Цитата (mate):

вываливает ошыбку: "Разрушительный сбой"......в чем здесь проблема?


Проблема тут в том, что ты, вместо того, чтобы воспользоваться отладчиком, сразу лезешь в интернет задавать вопросы.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Вадим К

Вадим К (статус: Академик), 10 ноября 2009, 13:11 [#39]:

Тут и отладчик может не помочь. Думаю, что вся проблема в том, что в коде есть установка фокуса для ListBox (например при переходе на другой трек).
Галочка "подтверждения прочтения" - вселенское зло.
mate

mate (статус: Посетитель), 10 ноября 2009, 13:17 [#40]:

отладчик - это трассировка?

Страницы: [« Предыдущая] [1] [2] [3] [4] [Следующая »]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 25 апреля 2026, 20:36
Выполнено за 0.03 сек.