|
Вопрос # 3 369/ вопрос открыт / |
|
Здравствуйте, эксперты!
Помогите пожалуйста. Я использую компонент ActiveX TWindowsMediaPlayer. При создании форми идет конект к базе на сервере мускул, от туда вытягиваются имена файлов и формируется файл wpl (плейлист). Как мне этот плейлист запихнуть в WindowsMediaPlayer. Тоесть, все это должно происходить при создании формы, и ище, чтоб этот плейлист проигрывался по колу. Зарание спасибо!
 |
Вопрос задал: 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 (статус: Посетитель), 8 ноября 2009, 14:46 [#21]:
к тебе min@y™.
|
|
min@y™ (статус: Доктор наук), 8 ноября 2009, 14:48 [#22]:
Цитата (mate):
к тебе
Ну спрашивай тады.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
mate (статус: Посетитель), 8 ноября 2009, 14:58 [#23]:
ты говорил, что предлагаешь мне альтернативний выход, скармливать файлы пллеру по очереди.......а как мне узнать, что предыдущий файл уже закончил свое проигрывание, и надо начинать проигрывать новый файл?
|
|
min@y™ (статус: Доктор наук), 8 ноября 2009, 15:11 [#24]:
Документация по TWindowsMediaPlayer есть?
СВойства/методы/события посмотреть можно?
Блин, пришлось поставить компонент. Ёкарный бабай, посмотри сколько у него событий! Судя по их именам, тебе нужно юзать событие OnPlayStateChange, куда передаётся параметр NewState: Integer.
Ещё есть событие OnStatusChange.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 8 ноября 2009, 15:16 [#25]:
Вот ещё ссылку тебе нашёл, почитай.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
mate (статус: Посетитель), 8 ноября 2009, 15:27 [#26]:
документации по TWindowsMediaPlayer не нашол........а за ссылочку большое спасибо, за 3 извини.........завтра буду пытатся зделать что-то.......и ище, мне не в прикол писать просто плеер, здесь фишка в другом, наполнение плейлиста будет происходить через Web-интерфейс...есть видеоролики со звуком и без звука, если попадается ролик без звука, то надо одновременно с ним проиграть какие-то mp3, заранее привязание в базе к даному ролику.......ну и все это должно работать так, запускаем екзешник, ни весь экран разворачивается плеер, и идет по списку, по окончанию плейлиста, проигрывает его снова....
|
|
min@y™ (статус: Доктор наук), 8 ноября 2009, 15:30 [#27]:
Цитата (mate):
за 3 извини
Испортил мне средний балл (был 5.00). Лучше бы вообще оценку не ставил. Головой думай.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
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™ (статус: Доктор наук), 9 ноября 2009, 15:44 [#29]:
Ты страницу, ссылку на которую я давал, читал?
Если нет - прочитай внимательно. Если да - прочитай внимательно ещё раз.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Вадим К (статус: Академик), 9 ноября 2009, 15:46 [#30]:
Наверно плееру надо дать чуточку времени. просто на момент, когда просите его начать играть, он ещё не готов.
попробуйте дать
sleep(1)
Application.ProcessMessage;
mediaplayer.controls.play;
(sleep(1) здесь это как бы не пауза, а просто указание планировщику переключить задачу)
Галочка "подтверждения прочтения" - вселенское зло.
|
|
mate (статус: Посетитель), 9 ноября 2009, 16:29 [#31]:
sleep(1)
Application.ProcessMessage;
mediaplayer.controls.play;
это не работает.....
Для min@y™: читал я эту страницу, но не понял как ловить wm_user, и как это вообще делаетсяя....
|
|
min@y™ (статус: Доктор наук), 9 ноября 2009, 16:43 [#32]:
Цитата (mate):
не понял как ловить wm_user, и как это вообще делаетсяя....
Ну, например, в Application.OnMessage.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
mate (статус: Посетитель), 9 ноября 2009, 16:55 [#33]:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
что именно здесь надо написать?
end;
и что делать с этим wm_user?
|
|
min@y™ (статус: Доктор наук), 9 ноября 2009, 17:03 [#34]:
Цитата (mate):
что именно здесь надо написать?
if Msg.Message = WM_USER
then mediaplayer.controls.play();
Цитата (mate):
и что делать с этим wm_user?
Остальное - читай по ссылке выше.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
mate (статус: Посетитель), 10 ноября 2009, 12:54 [#35]:
спасибо большое, разобрался.......но возника ище одна проблема, в свойствах windowsmeiapleyer fullscreen ставлю в значение true. При запуске приложения автоматически плейлист загружается в listbox и начинае проигрыватся первый в списке....тут все нормально, идет в полноэкранном режиме, но когда первый файл заканчавает играть, и должен играть второй, то вываливает ошыбку: "Разрушительный сбой"......в чем здесь проблема?
|
|
Вадим К (статус: Академик), 10 ноября 2009, 12:59 [#36]:
а listBox в этот момент не виден на экране?
Галочка "подтверждения прочтения" - вселенское зло.
|
|
mate (статус: Посетитель), 10 ноября 2009, 13:03 [#37]:
если я задаю fullscreen=true, то плеер разворачивается на весь экран, и ни кнопки ни listBox не видны....
|
|
min@y™ (статус: Доктор наук), 10 ноября 2009, 13:06 [#38]:
Цитата (mate):
вываливает ошыбку: "Разрушительный сбой"......в чем здесь проблема?
Проблема тут в том, что ты, вместо того, чтобы воспользоваться отладчиком, сразу лезешь в интернет задавать вопросы.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Вадим К (статус: Академик), 10 ноября 2009, 13:11 [#39]:
Тут и отладчик может не помочь. Думаю, что вся проблема в том, что в коде есть установка фокуса для ListBox (например при переходе на другой трек).
Галочка "подтверждения прочтения" - вселенское зло.
|
|
mate (статус: Посетитель), 10 ноября 2009, 13:17 [#40]:
отладчик - это трассировка?
|
Страницы: [« Предыдущая] [1] [2] [3] [4] [Следующая »]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|