C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
как научить свою прогу игреть *.mp3???, возможно ли заставить стандартый плеер..
enton
Отправлено: 17.02.2007, 22:21


Дежурный стрелочник

Группа: Участник
Сообщений: 44



возможно ли заставить стандартый плеер играть *.mp3??? или же без компонентов не обойтись???
Tantos
Отправлено: 18.02.2007, 04:26


Станционный диспетчер

Группа: Участник
Сообщений: 108



Стандартный плеер не играет mp3. Если не хочешь связываться с доп. компонентами и библиотеками, см. MCIWndCreate/MCIWndPlay.

Отредактировано Tantos — 18.02.2007, 11:26
enton
Отправлено: 18.02.2007, 09:31


Дежурный стрелочник

Группа: Участник
Сообщений: 44



если можно по подробнее насчет последней фразы, не совсем в курсе что ето такое???
Tantos
Отправлено: 19.02.2007, 08:28


Станционный диспетчер

Группа: Участник
Сообщений: 108



Функции smile.gif . См. описание в MSDN. Вечером постараюсь прицепить исходник mp3-плеера из книги.
enton
Отправлено: 19.02.2007, 11:00


Дежурный стрелочник

Группа: Участник
Сообщений: 44



ок, гляну у меня тут как раз частично переведенный MSDN есть;)
Tantos
Отправлено: 19.02.2007, 15:32


Станционный диспетчер

Группа: Участник
Сообщений: 108



Исходник из книги Холлингворта "С++ Builder. Руководство разработчика" — http://rapidshare.com/files/17203431/MP3Demo.rar.html

Отредактировано Tantos — 19.02.2007, 22:35
Termi_uc
Отправлено: 19.02.2007, 17:12


Дежурный стрелочник

Группа: Участник
Сообщений: 61



Насколько я знаю, TMediaPlayer (System) может проигрывать все аудио форматы, установленные в системе. Всегда только им и пользуюсь, когда надо к проге mp3 плеер припоять.
Правда в TMediaPlayer много недостатков...

А пример супер. Tantos СПАСИБО!!!

p.s. Надо будет "С++ Builder. Руководство разработчика" обзавестись.
enton
Отправлено: 19.02.2007, 18:32


Дежурный стрелочник

Группа: Участник
Сообщений: 44



от меня тож респехт! плеер основательно мне помог!
Grigoriy
Отправлено: 19.02.2007, 20:51


Мастер участка

Группа: Участник
Сообщений: 381



QUOTE
Исходник из книги Холлингворта

Файлы проигрывает.
Вот только для бОльшей части файлов проигрывание идет с "захлёбыванием". Может используется устаревший режим проигрывания ?
Кодеки меняются ведь.
Как-нибудь через АПИ-функции можно всегда добиться...
Вот только как и какие API ?
enton
Отправлено: 25.02.2007, 17:19


Дежурный стрелочник

Группа: Участник
Сообщений: 44



"захлебывается наверное из за того что идет через обычный плеер"(((

как оказалось разобраться в нем не так просто есть ли у кого нибудь еще какие наработки на тему mp3???
Tantos
Отправлено: 26.02.2007, 15:53


Станционный диспетчер

Группа: Участник
Сообщений: 108



В основном для Дельфи:
TBASSPlayer
cmxMP3.pas — Delphi class for playing .mp3 files
Если что-нибудь получится, черкани, а?
enton
Отправлено: 26.02.2007, 16:16


Дежурный стрелочник

Группа: Участник
Сообщений: 44



с первым адресом ваще не понятно чего делать надо.
второй скачал, гляжу вот)
об успехах сообщу.
Termi_uc
Отправлено: 26.02.2007, 16:30


Дежурный стрелочник

Группа: Участник
Сообщений: 61



Используй DirectX.DirectShow.
Не самых простой способ, но самый надёжный. В смысле, что DirectShow сама ищет декодеки для расшифровывания mp3, wav, wma, avi, wmv и другие...
Кстати, WindowsMediaPlayer работает через DirectX.DirectShow (в общем случае).

Могу прислать пример, но он для Delphi.
Termi_uc
Отправлено: 26.02.2007, 20:04


Дежурный стрелочник

Группа: Участник
Сообщений: 61



QUOTE (enton @ 26.02.2007, 16:16)
с первым адресом ваще не понятно чего делать надо.
второй скачал, гляжу вот)
об успехах сообщу.

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

Сейчас заканчиваю работу над TTermiVideoGrabber (типа TVideoGrabber 6.7.8). Могу выложить бисплатную версию.
Просто кидаеш на форму компонент, пишеш
CODE
TermiVideoGrabber1->Open(FileName);
TermiVideoGrabber1->Play();

и не паришся yu.gif
Бисплатная версия компонента будет воспроизводить avi, mp3, wma, wmv доступные для системы где программа запускается.
Постараюсь выложить с демкой, если успею сделать...

В платной версии компонента (всего 600 руб) будет доступен расширеный список форматов воспроизведения видео и аудио, + захват видео и захват аудио. + Расширеный набор функций для управления воспроизведением, и т.д. и т.п.
Короче, сможеш свой собственный MediaPlaer наваять cool.gif .

Только не знаю когда на продажу выставлю sad.gif  — не умею.
enton
Отправлено: 27.02.2007, 10:21


Дежурный стрелочник

Группа: Участник
Сообщений: 44



разобраться с прогрованием мп3 как раз горит, если не сложно выложи демку, и компонент про который ты говорил.
Termi_uc
Отправлено: 27.02.2007, 17:35


Дежурный стрелочник

Группа: Участник
Сообщений: 61



Завтра выложу, ок?
enton
Отправлено: 28.02.2007, 10:10


Дежурный стрелочник

Группа: Участник
Сообщений: 44



ок, а у тебя по флешу не чего нету? плеер или что типа того???
Tantos
Отправлено: 28.02.2007, 15:52


Станционный диспетчер

Группа: Участник
Сообщений: 108



Компонент для работы с Flash можно импортировать из ActiveX, если, конечно, на компьютере у тебя он стоит.
enton
Отправлено: 28.02.2007, 16:47


Дежурный стрелочник

Группа: Участник
Сообщений: 44



с етого метса можно по подробнее???
как вообщем можно его пользовать?
Termi_uc
Отправлено: 28.02.2007, 16:50


Дежурный стрелочник

Группа: Участник
Сообщений: 61



Сделал для Delphi 7.

При компиляции под CBuilder исходников написаных на pascal'е, при создании заголовочного файла (*.hpp) компилятор вылетает с ошибкой. sad.gif
Сейчас проблему решить не могу.

Выкладываю компонент для Delphi7(vcl70). Если хочеш, можеш создать DLL'ку в Delphi, которая будет инкапсулировать компонент и выдавать интерфейс для работы с ним.

Постараюсь разобратся в чём проблеса при компилировании по CBuilder, кстати при компилировании под BDS C++ Builder, компилятор не вылетает, а выдаёт ошибку в конце файла.

User Attached Image Скачать файл
TermiVideoGrabber_v0.1.zip


Termi_uc
Отправлено: 28.02.2007, 17:29


Дежурный стрелочник

Группа: Участник
Сообщений: 61



Вот отсюда, я брал исходники. Но там на англицком, поэтому сложно по сайту шарить и искать необходимую инфу.

А чем тебя TMediaPlayer не устроил? Он тоже mp3 читает...

Отредактировано Termi_uc — 28.02.2007, 21:26
Termi_uc
Отправлено: 28.02.2007, 21:25


Дежурный стрелочник

Группа: Участник
Сообщений: 61



TTermiPlayer. Демка для Delphi 7.

Отредактировано Termi_uc — 28.02.2007, 21:27

User Attached Image Скачать файл
VideoAudioPlayer_D7.zip


enton
Отправлено: 01.03.2007, 08:10


Дежурный стрелочник

Группа: Участник
Сообщений: 44



вчера у меня стандартный заиграл, не знаю поему раньше попробовал,
вот что сказано в справке по этому поводу
[CODE]
DeviceType specifies a multimedia device type to open with the Open method.

TMPDeviceTypes type contains the multimedia device types that can be opened by a TMediaPlayer component. The valid values for TMPDeviceTypes are dtAutoSelect, dtAVIVideo, dtCDAudio, dtDAT, dtDigitalVideo, dtMMMovie, dtOther, dtOverlay, dtScanner, dtSequencer, dtVCR, dtVideodisc, or dtWaveAudio. The default is dtAutoSelect.

If DeviceType is dtAutoSelect, the device type is determined by the file extension specified in the FileName property. If no device type is associated with the extension, the correct device type must be explicitly specified by setting DeviceType to a value other than dtAutoSelect.

A multimedia device is typically associated with an appropriate file name extension when the device is installed. Associations are specified in the registry or SYSTEM.INI file. See the documentation for the specific device for instructions about how to associate file name extensions with the device.[/QUOTE]
вобщем стандартный заиграл мп3!!!

Вернуться в Вопросы программирования в C++Builder