Форум программистов, компьютерный форум, киберфорум
Delphi: Графика, звук, видео
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/41: Рейтинг темы: голосов - 41, средняя оценка - 4.61
12 / 12 / 4
Регистрация: 23.10.2008
Сообщений: 33
1

Проблема с кодеками в MediaPlayer

23.10.2008, 23:51. Показов 8361. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Решил написать видео проиграватель ,и все бы ничего ,если бы не 2 проблемы:
1)Она же самая главная, иногда при проигрывании видео одного и того же формата(например avi),в одном случае все было нормально, был звук и отображалось видео,а в другом был звук, но не было видео, и я подумал что в этом компоненте нет нужного кодека!!! Если я прав, то посоветуйте , что делать???
Есть ли возможность подключить нужные кодеки к MediaPlayer??
2)При вызове MediaPlayer.Open,MediaPlayer.Play(возможно и других каких-то я пока не проверял) компонент автоматически делает область воспроизведения видео,равной разрешению проигрываемого видео-файла,хотя перед этим я описывал область воспроизведения и растягивал изображение на всю панель:

Delphi
1
2
Form1.MediaPlayer1.Display := Form1.Panel3;
Form1.MediaPlayer1.DisplayRect := Form1.Panel3.ClientRect;
Как решить ету проблему??Если есть процедура отвечающая за автоматический подгон размеров(чтоб ее отключить) напишите ее плиз,если нет такой процедуры,то напишите как вы бы сделали, а то вызывать после каждого нажатия кнопки Play или еще какой:
Form1.MediaPlayer1.DisplayRect := Form1.Panel3.ClientRect;
Чет очень не хочется, и к тому же изменение размеров видно не вооруженным взглядом,при нажати на кнопку воспроизведения,а ет не очень красиво(((

P.S. Еще ищу компоненты которые работали бы с большим числом видео-форматов,чем компонент MediaPlayer,если у кого есть, то выложите или дайте ссылку на сайт,где можно скачать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.10.2008, 23:51
Ответы с готовыми решениями:

Проблема с кодеками
Добрый вечер многоуважаемые форумчане! Всем доброго времени суток... У меня вот возникла такая...

Глюк с кодеками видео
Появилась такая проблема - практически ни одно видео не воспроизводится в Windows Media Player,...

Поиск сборки adobe premiere cs3 с кодеками
Качал пару сборок с нормальных трекеров. Попытки, всё это заставить работать, были безуспешными....

Изменяется цвет видео после обработки кодеками
Доброго времени суток, уважаемые форумчане! Столкнулся со следующей проблемой: 1) Пользуюсь...

8
7 / 7 / 0
Регистрация: 26.08.2008
Сообщений: 145
24.10.2008, 00:18 2
Для того, чтобы Media Player воспроизводил видео на весь экран, надо воспроизводить его в полноэкранном режиме. Я ещё не разобрался с этим моментом, сообщу, как разберусь.
AVI файл - это не просто видеофайл, расширение может быть одно, но формат разный. Соответственно, нужны разные кодеки. MediaPlayer в составе Delphi определяет нужный кодек не по кодировке, а по расширению - в этом его главный недостаток. Воспользуйся компонентом WindowsMediaPlayer. Component - Import ActiveX Control - WindowsMediaPlayer - Install. Небольшая справка по компоненту у меня есть.

Добавлено через 4 минуты 40 секунд
Воспользуйся Xilisoft Video Converter, чтобы точно определить, какой кодек тебе нужен. Очень удачное решение, я этим постоянно пользуюсь.
0
12 / 12 / 4
Регистрация: 23.10.2008
Сообщений: 33
24.10.2008, 00:26  [ТС] 3
На счет полно экранного я ни чего не говорил,но метод знаю,вот он:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{Код для Form 1}
 
uses Unit2;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.Show;
  Form2.WindowState := wsMaximized;
  Form2.MediaPlayer1.Notify := false;
  Form2.MediaPlayer1.Display := Form2.Panel1;
  Form2.MediaPlayer1.FileName := 'C:\TheWall\DELCAR2.AVI';
  Form2.MediaPlayer1.Open;
  Form2.MediaPlayer1.DisplayRect := Form2.ClientRect;
  Form2.MediaPlayer1.Play;
end;
Delphi
1
2
3
4
5
6
7
{Код для Form 2}
 
procedure TForm2.MediaPlayer1Notify(Sender: TObject);
begin
  if MediaPlayer1.NotifyValue = nvSuccessful then
    Form2.Close;
end;
И еще я воспроизвожу во всю нужную мне панель а при нажати на кнопку он делает окно воспроизведения файла равным размеру разрешения видео файла,в этом проблема!!!
А за WindowsMediaPlayer спасибо посмотрю!!!
0
7 / 7 / 0
Регистрация: 26.08.2008
Сообщений: 145
24.10.2008, 00:27 4
Для полноэкранного режима в этом компоненте воспользуйся процедурой FullScreen.
0
12 / 12 / 4
Регистрация: 23.10.2008
Сообщений: 33
24.10.2008, 00:42  [ТС] 5
Спасибо но мне надо для MediaPlayer я ведь свой проиграватель пишу,а не плагеат делаю))
Возможно кто-нибудь тогда знает,как написать чтоб медиа плеер распознавал по формату??
0
7 / 7 / 0
Регистрация: 26.08.2008
Сообщений: 145
24.10.2008, 00:49 6
Конечно можно! В отладчике формы: windowsmediaplayer1.visible:=false
Что может быть проще?

Добавлено через 59 секунд
Хотя, СТОП! Точно не знаю, щас проверю.

Добавлено через 1 минуту 33 секунды
Цитата Сообщение от Anatol_rus Посмотреть сообщение
Спасибо но мне надо для MediaPlayer я ведь свой проиграватель пишу,а не плагеат делаю))
Ну, тогда создавай собственный компонент!
0
12 / 12 / 4
Регистрация: 23.10.2008
Сообщений: 33
24.10.2008, 01:07  [ТС] 7
Цитата Сообщение от Pommity Посмотреть сообщение
Конечно можно! В отладчике формы: windowsmediaplayer1.visible:=false
Что может быть проще?

Добавлено через 59 секунд
Хотя, СТОП! Точно не знаю, щас проверю.

Добавлено через 1 минуту 33 секунды

Ну, тогда создавай собственный компонент!
Кинь на всякий случай редмю по этому компоненту
0
7 / 7 / 0
Регистрация: 26.08.2008
Сообщений: 145
24.10.2008, 01:19 8
http://www.delphisources.ru/pa... _node.html
Советую почитать
0
12 / 12 / 4
Регистрация: 23.10.2008
Сообщений: 33
02.11.2008, 23:57  [ТС] 9
Спасибо всем проблема решена перешел на DirectX
0
02.11.2008, 23:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2008, 23:57
Помогаю со студенческими работами здесь

"constructor MediaPlayer in class MediaPlayer cannot be applied to given types"
Проблема в строке "37--final MediaPlayer mp = new MediaPlayer(this,R.raw.sample);" Ошыбка :...

MediaPlayer
Всем привет. Работаю в CB6. В форме присутствует MediaPlayer , Панель (hide) вот __fastcall...

MediaPlayer
Подскажите, пожалуйста, как можно реализовать, чтобы при нажатии на кнопку Play, становилось...

Использование MediaPlayer
Здравствуйте. Задача такова: написать свой простейший плеер сугубо для себя. Почитав, понял, что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru