Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 61, средняя оценка - 4.79
CrossExE
10 / 10 / 1
Регистрация: 03.04.2010
Сообщений: 160
#1

Почему при использовании компонента TMediaPlayer ,некоторые mp3 открываются а некоторые нет? - Delphi

01.05.2010, 21:18. Просмотров 8844. Ответов 5
Метки нет (Все метки)

Почему при использовании компонента TMediaPlayer ,некоторые mp3 открываются а некоторые нет

EMCIDeviceError с сообщением "No MCI device open". , Жду варианта решения проблем!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2010, 21:18
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Почему при использовании компонента TMediaPlayer ,некоторые mp3 открываются а некоторые нет? (Delphi):

Почему некоторые компоненты после компиляции программы прозрачные? - Delphi
В общем вся суть проблемы в названии темы. После компиляции проги компоненты: скролбар,листбок и трэкбар прозрачные!! Использую...

почему некоторые программы, по работе с системой, набранные в Delphi 2009 не работают? - Delphi
Не подскажете, почему некоторые программы, по работе с системой, набранные в Delphi 2009 не работают?

Почему некоторые методы в Release не работают, тогда как в Debug все нормально? - Delphi
Всем привет! Пришло время узнать, а собственно почему некоторые методы в Reliase не работают, так как в Debug все нормально... Вот к...

При использовании компонента RadioGroup - Delphi
Мне нужно что бы было 2 переключателя на выбор (мужской женский) Написал вроде все норм,но почему то когда вывожу в StringGrid он вместо...

Как при перемещении указателя на текущую запись навесить некоторые действия - Delphi
Есть TADODataset. Надо чтобы при перемещении указателя на текущую запись происходили некоторые действия. То есть пользователь нажимает...

Не работают некоторые IF - Delphi
Здравствуйте. Есть участок кода: if checkbox2.Checked=true and checkbox3.Checked=false and checkbox4.Checked=false then T :=...

5
XBOCTEr
2 / 2 / 0
Регистрация: 15.10.2009
Сообщений: 11
02.05.2010, 03:04 #2
у меня все mp3 открывает.
Просьба о коде не судить строго т.к писал еще на первом курсе
0
Вложения
Тип файла: rar mp3.rar (203.4 Кб, 403 просмотров)
Phantom
Эксперт С++
3168 / 850 / 16
Регистрация: 29.12.2008
Сообщений: 952
02.05.2010, 11:54 #3
CrossExE, обычно такая проблема возникает, когда отсутствует вызов функции Open, что-то вроде:
Delphi
1
MediaPlayer1.Open;
Судя по всему, у Вас как раз так. Причем, если в свойствах есть AutoOpen:=true, то некоторые файлы будут проигрываться (если быть точным, то только первый указанный файл).

Ну и пример, чтобы было можно сориентироваться куда поставить этот вызов, потому что он может даже сейчас присутствовать, но стоять не в том месте, что будет вызывать эту ошибку:
Delphi
1
2
3
4
5
6
7
8
With MediaPlayer1 do
begin
  Filename := sWinDir + '\Clock.avi'; //specify video file
  DeviceType := dtAVIVideo; //set Device compatibility to AVI
  Display := Panel1; //Set display device to a TPanel
  Open;
  Play;
end;
0
CrossExE
10 / 10 / 1
Регистрация: 03.04.2010
Сообщений: 160
02.05.2010, 18:10  [ТС] #4
XBOCTEr- у тебя он не все воспроизводит если ты не заметил то у тебе обработчик ЭТОЙ ошибки стоит.
Phantom- не у меня все стоит норм , а что вообще mediaplayer должен воспр. все ?
0
Phantom
Эксперт С++
3168 / 850 / 16
Регистрация: 29.12.2008
Сообщений: 952
02.05.2010, 20:07 #5
Цитата Сообщение от CrossExE Посмотреть сообщение
а что вообще mediaplayer должен воспр. все
Фактически, этот компонент представляет собой просто несколько кнопочек, при помощи которых мы управляем какими-то мультимедиа-устройствами, как аппаратными, так и программными. Это означает, что данный компонент должен (по-хорошему) воспроизводить все файлы, для которых в системе есть кодеки.
Например, MediaPlayer поддерживает только форматы WAV, MID и AVI. Всё.
Однако, если в системе установлены подходящие кодеки, то этот список разрастается и компонент уже работает и с MP3, MPG, ASF и т.п.
И всё равно, очень часто MediaPlayer отказывается работать с форматом, даже если он есть в системе.

Да и вообще, даже если формат поддерживается, с ним могут возникнуть проблемы, потому что компонент не обеспечивает корректного выбора кодеков. Тот же AVI может иметь разный внутренний формат, а компонент смотрит только на его расширение и жестко ставит ему в соответствие определенный кодек, в результате чего мы и ограничиваемся только возможностями этого конкретного кодека. Это нехорошо, потому что логичнее было бы проанализировать файл более тщательно и сопоставить ему подходящий кодек, а не просто приписанный к расширению. Подобное может быть и с MP3.

Так что этот компонент несовершенный, да и не претендует на это.

CrossExE, Если переходить к конкретным советам, то сначала попробуйте другие реализации этой программы, благо примеров и мануалов как создать плеер на основе этого компонента в Сети очень много. Сравнивайте свой код с аналогами и смотрите отличия, возможно, Вы где-то что-то упустили. Сделайте это самостоятельно или приложите код сюда, тогда можно будет говорить конкретнее.
Если же Вы уверены в своем коде и не видите ошибок, то, возможно, дело как раз в несовершенстве самого компонента (как раз тот случай, когда можно винить лыжи).

Вообще, лучше воспользоваться другими компонентами и решениями, которые лучше и корректнее чем MediaPlayer. Спектр тут очень широк - от компонентов TWindowsMediaPlayer, TMP3Player и т.п. до шикарнейшей библиотеки bass.dll. Кроме того, существует общепризнанный пак компонентов для работы с мультимедиа - DSPack.
2
__bool
285 / 226 / 6
Регистрация: 13.06.2010
Сообщений: 744
03.09.2012, 22:54 #6
Уважаемый Phantom, правда существует такой компонент TWindowsMediaPlayer?
Не посоветуете как его найти? необходимо запустить видео с программы, TMediaPlayer не хочет ни AVI, ни WMV, mp4 кое как воспроизводит, с какими-то помехами..

Все кодеки стоят, все плееры прекрасно работают.
TWindowsMediaPlayer не получается найти.
У меня еще и версия C++Builder - XE

Помню еще год назад пытался расширение для BASS.DLL установить, позволяющее видео проигрывать - ничего не вышло.

Нужен простой компонент позволяющий проигрывать видео.
Заранее спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2012, 22:54
Привет! Вот еще темы с ответами:

Некоторые переменные не распознаются - Delphi
Ребята помогите пожалуйста, я написала программу в делфи. И получилась такая ситуация что , некоторые переменные не распознаются... Вот...

Некоторые функции в Делфи - Delphi
На просторах инета нашел вот такую Перевод символа в верхний регистр для русского алфавита и ни одной строчки описания кода... Как она...

Поясните некоторые аспекты - Delphi
Здравствуйте уважаемые форумчане. Обращаюсь к вам с просьбой обьяснить некоторые детали программы, в которых я, к сожалению, разобраться не...

объясните некоторые переменные - Delphi
Приветствую. Нашел в инете задачки и хотелось бы узнать некоторые переменные что значат. 1) procedure TForm1.Button1Click(Sender:...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru