После всяческих ковыряний в Media.pas откопал несколько интересных вещей. За основу взял компонент 3042 и частично изменил Media.pas, поскольку на что-то серьезное этот модуль не способен.
Отличия от компонента 3042:
1. Добавлены методы doVolume (установка громкости) и doSetSpeed (установка скорости)
2. Открытие следующих форматов: 3GP, ASF, AVI, DIVX, FLV, M1V, M2V, MKV, MOV, MP4, MPE, MPEG, MPG, MPV, OGM, QT, RAM, RM, RV, SWF, VOB, WM, WMV, AAC, AC3, AIF, AIFC, AIFF, APE, AU, FLAC, IT, KAR, LXM, M4A, MID, MIDI, MKA, MOD, MP1, MP2, MP3, MPA, MPC, OGG, RA, RMI, S3M, SND, STM, WAV, WV, WMA, XM, BMP, JPEG, JPG (даже картинки )
3. Недостаток - теперь не поддерживается открытие CD-DA
Измененный компонент и пример к нему в аттаче
Этот топик читают: Гость
Ответов: 1161
Рейтинг: 160
|
|||
карма: 0 |
| ||
файлы: 1 | mediaplayerex.zip [17.6KB] [543] | ||
Голосовали: | Tad, nesco, kamakama, Alexbootch, Andrey, ruzik, GanjaKyp, 3042, sla8a, Slim9009, Assasin, Muz-Tv, MAV |
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
А че, неплохой компонент, Матроскина прочитал (*.mkv). Похоже, он работает с кодеками системы. Такой и добавить можно, если руководство непротив будет, только код компонента надо привести в порядок, но это -- детали
|
|||
карма: 22 |
|
Ответов: 1161
Рейтинг: 160
|
|||
nesco писал(а): Похоже, он работает с кодеками системы.Стандартный Media.pas пытается узнать тип устройства по формату файла и, соответсвенно, распознает он немногое (mp3, wav, mpg, wmv, wma и с трудом avi). Если же ему встучить устройство MPEGVideo, то прочитывать он будет намного больше. |
|||
карма: 0 |
|
Ответов: 3851
Рейтинг: 159
|
|||
AAC (*.m4a) не воспроизводит. пробовал переименовать в *.MP4 (с некоторыми проигрывателями такой фокус проходит) - не помогло. в видео VP7 (*.AVI) искажается соотношение сторон - подгоняется под размеры Image). JPG c цифровика не открылся, другие вроде кажет. LainX, развей мои сомнения по бесплатному использования (коммерческому тоже). Спасибо за работу |
|||
карма: 0 |
|
Ответов: 582
Рейтинг: 3
|
|||
LainX, спасибо тебе огромное!!!!
------------ Дoбавленo в 09.52: Компилироваться не хочет с этим компонентом ни пример который есть в аттаче ни любой другой с этим компонентом вот что пишет что пишет Генерация кода целевого языка Компоновка проекта... Command line: dcc32.exe "C:\Program Files\HiAsm\Elements\delphi\code\Example.dpr" "-UC:\Documents and Settings\rustam\Рабочий стол\примеры\проекты\плеер\." -Q Borland Delphi Version 12.0 Copyright (c) 1983,98 Inprise Corporation C:\Program Files\HiAsm\Elements\delphi\code\WinLayout.pas(159) Warning: Variable 'd' might not have been initialized C:\Program Files\HiAsm\Elements\delphi\code\WinLayout.pas(176) Warning: Variable 'd' might not have been initialized C:\Program Files\HiAsm\Elements\delphi\code\WinLayout.pas(40) Hint: Private symbol '_onObjDestroy' declared but never used C:\Program Files\HiAsm\Elements\delphi\code\hiMediaPlayerEx.pas(200) Error: Undeclared identifier: 'Volume' C:\Program Files\HiAsm\Elements\delphi\code\hiChildPanel_14FD490.pas(13) Fatal: Could not compile used unit 'hiMediaPlayerEx.pas' Сборка завершена. |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
nesco писал(а): Такой и добавить можно, если руководство непротив будет------------ Дoбавленo в 10.15: ruzik, не е.. му-му. У всех работает - у тебя нет. Вывод: Ищи у себя. Читай про установку компонентов. |
|||
карма: 25 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Tad писал(а): У всех работает - у тебя нетПоди, Media.pas не переписал поверх существующего, а сам он не переписывается |
|||
карма: 22 |
|
Ответов: 582
Рейтинг: 3
|
|||
nesco, переписал это не 1 мой дополнительный элемент
Переустановил хиазм, поставил, работает |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Так
Tad писал(а): Читай про установку компонентов. |
|||
карма: 25 |
|
Ответов: 534
Рейтинг: 5
|
|||
Супер. Но такой реквест:
LainX, можешь сделать возможность выхода в корневое меню, в меню эпизодов и др. при воспроизведении DVD-дисков. (там кажется нужно оперировать *.ifo и ещё какими-то файлами) ------------ Дoбавленo в 15.52: Ах, да - и неплохо бы битрейт выводить ------------ Дoбавленo в 16.12: Всё. Про битрейт нашёл (не динамический, но всё же). Но что с DVD? ------------ Дoбавленo в 17.01: А что, отличия от DirectShowPlayer - громкость да скорость? Использует тот же ffdShow. |
|||
карма: 0 |
|
Ответов: 1304
Рейтинг: 405
|
|||
Обновился с SVN а там сюрприз
LainX, спасибо за компонент. |
|||
карма: 3 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
MAV писал(а): Обновился с SVN а там сюрпризА че, его туда добавили |
|||
карма: 22 |
|
Ответов: 1304
Рейтинг: 405
|
|||
nesco, и точно нету .
Вчера установил hiMediaPlayerEx но даже не успел запустить пример, а сегодня обновился с SVN и меня приклинило что и hiMediaPlayerEx с SVN. Может стоит hiMediaPlayerEx разместить на SVN?, я уже виртуально поместил его туда . |
|||
карма: 3 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
MAV писал(а): я уже виртуально поместил его тудаЯ задал конкретный вопрос nesco писал(а): Такой и добавить можно, если руководство непротив будетТак вот, руководство молчит, как рыба. Я не хочу брать на себя такую ответственность, к тому же nesco писал(а): код компонента надо привести в порядок |
|||
карма: 22 |
|
Ответов: 1304
Рейтинг: 405
|
|||
hiMediaPlayerEx.pas(200,14) Error: identifier idents no member "Volume"
nesco, под FPC картина аналогичная? |
|||
карма: 3 |
|