link840 link841 link842 link843 link844 link845 link846 link847 link848 link849 link850 link851 link852 link853 link854 link855 link856 link857 link858 link859 link860 link861 link862 link863 link864 link865 link866 link867 link868 link869 link870 link871 link872 link873 link874 link875 link876 link877 link878 link879 link880 link881 link882 link883 link884 link885 link886 link887 link888 link889 link890 link891 link892 link893 link894 link895 link896 link897 link898 link899 link900 link901 link902 link903 link904 link905 link906 link907 link908 link909 link910 link911 link912 link913 link914 link915 link916 link917 link918 link919 link920 link921 link922 link923 link924 link925 link926 link927 link928 link929 link930 link931 link932 link933 link934 link935 link936 link937 link938 link939 link940 link941 link942 link943 link944 link945 link946 link947 link948 link949 link950 link951 link952 link953 link954 link955 link956 link957 link958 link959 link960 link961 link962 link963 link964 link965 link966 link967 link968 link969 link970 link971 link972 link973 link974 link975 link976 link977 link978 link979
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