Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: TMediaPlayer проблемы с воспроизведением  (Прочитано 19783 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ARTHES
Интересующийся

by
Offline Offline

« : 29-02-2008 18:06 » 

Добрый вечер!

Возникли проблемы с использованием компонента MediaPlayer. Нужно просто проиграть в окне программы видеофайл. Воспроизведение произвожу в Panel1:
Код:
        MediaPlayer1->FileName = "D:\\MUL_Project\\video\\rotate.avi"; //specify video file
        MediaPlayer1->DeviceType = dtAVIVideo;                         //set Device compatibility to AVI
        MediaPlayer1->Display = Panel1;                                //Set display device to a TPanel
        MediaPlayer1->Open();
        MediaPlayer1->Play();
Проблема в том, что в Panel-е ничего не отображается, хотя путь задан верно, файл проигрывается Windows Classiс, т.е. не испорчен и кодеки есть, MediaPlayer1->Mode возвращает что файл типа проигрывается, но в Panel-e все равно пусто.

Я все делаю правильно? Может я где-то чего-то не подключил?

Заранее благодарен.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 29-02-2008 19:22 » 

ARTHES, а play() пробовал? Кроме того, проверь после Open() свойства Error и ErrorMessage.
« Последнее редактирование: 29-02-2008 19:28 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
ARTHES
Интересующийся

by
Offline Offline

« Ответ #2 : 01-03-2008 09:14 » 

play() в смысле нажать на play на самом MediaPlayer-е? пробовал, ничего не изменяется:

MediaPlayer1->Mode = 2 , т.е. MPlayer::mpPlaying

а в Panel-е все равно пусто,

после MediaPlayer1->Open() проверяю:

MediaPlayer1->Error = 0;
MediaPlayer1->ErrorMessage = "Указанная команда выполнена."; 

то же самое там и после MediaPlayer1->Play()
 
Записан
zubr
Гость
« Ответ #3 : 01-03-2008 10:24 » 

Попробуй сделать  MediaPlayer1->DeviceType = dtAutoSelect;
Записан
ARTHES
Интересующийся

by
Offline Offline

« Ответ #4 : 01-03-2008 10:48 » new

Я так уже пробовал, это ничего не меняет:

MediaPlayer1->Mode = 2
MediaPlayer1->Error = 0
MediaPlayer1->ErrorMessage = "Указанная команда выполнена."

А в Panel1 ничего нет.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 01-03-2008 11:36 » 

ARTHES, а на панели никаких контролов нет?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
ARTHES
Интересующийся

by
Offline Offline

« Ответ #6 : 01-03-2008 11:47 » 

MediaPlayer1 у меня Visible, поэтому кнопки-то есть (Play, Pause, Stop), но нажимание на них приводит только к изменению MediaPlayer1->Mode, т.е.:

нажимаю Play, MediaPlayer1->Mode = 2 (MPlayer::mpPlaying),
нажимаю Pause, MediaPlayer1->Mode = 5 (MPlayer::mpPaused),
нажимаю Stop, MediaPlayer1->Mode = 1 (MPlayer::mpStopped),

т.е. он управляется корректно, проблемы с отображением проигрываемого ролика

Кстати, если MediaPlayer1->Display будет NONE, MediaPlayer создает свое отдельное окно для воспроизведения ролика, только в нем тоже пусто Жаль
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 01-03-2008 11:48 » 

ARTHES, я про TPanel.

Попробуй сперва без Display - пусть оно будет NULL.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
ARTHES
Интересующийся

by
Offline Offline

« Ответ #8 : 01-03-2008 12:02 » 

Извиняюсь, не NONE, а NULL, а в остальном все так, как я и сказал, открывается отдельное окно для воспроизведения видео, но в нем ничего нет, т.е. оно как бы прозрачное, когда перетакиваешь его, в нем остается изображение того, что было за ним до перетаскивания, а видео в нем нет.
Записан
zubr
Гость
« Ответ #9 : 01-03-2008 14:00 » 

А звука тоже нет? Попробуй другие медиафайлы загрузить.
Записан
ARTHES
Интересующийся

by
Offline Offline

« Ответ #10 : 02-03-2008 10:24 » 

Звук есть!!! А вот видео нету Жаль
Записан
zubr
Гость
« Ответ #11 : 02-03-2008 15:03 » 

ARTHES, у меня та же байда. mpg-файлы работают нормально (видео и звук), а avi - только звук. Хотя в Windows-медиаплеере все работает. Думаю что то с кодеками. avi тоже разные есть, попробуй переконвертируй из одного avi в другой.
Записан
ARTHES
Интересующийся

by
Offline Offline

« Ответ #12 : 02-03-2008 15:56 » 

И у меня mpg работает!!!

Все, проблема решена: вручную переименовал мой файл из *.avi в *.mpg, и теперь он воспроизводится!!!

Спасибо всем, кто уделил внимание.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #13 : 02-03-2008 20:01 » 

Хех... Переименовать - не решение проблемы. надо искать, как побороть багу.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
ARTHES
Интересующийся

by
Offline Offline

« Ответ #14 : 03-03-2008 09:05 » 

Я думаю, проблема может быть в кодеках, ведь если проигрывает mpg, а avi нет, значит проблема не у меня в тексте, а в системе, говорят, установка DivX помогает, но, честно говоря, мне формат файла не принципиален (проиграть нужно только один файл), поэтому переименование для меня - самый простой выход, пусть и не очень красивый.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines