Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 27.11.2009, 21:37   #1
Gerzs
Форумчанин
 
Аватар для Gerzs
 
Регистрация: 23.07.2009
Сообщений: 185
По умолчанию Воспроизведение mp3

Как можно проиграть mp3 без TMediaPlayer?
Gerzs вне форума Ответить с цитированием
Старый 27.11.2009, 21:49   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

mcisendstring()
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 27.11.2009, 21:54   #3
Css
Пользователь
 
Аватар для Css
 
Регистрация: 19.11.2009
Сообщений: 13
По умолчанию

Может Bass.dll?

А для wav можно так:
Код:
sndPlaySound(PChar('<имя файла *.wav>'), SND_ASYNC Or SND_LOOP Or SND_NODEFAULT);
А разве ТС спрашивал про wav?
Долой готовые компоненты! Учите «Win32API»!

Последний раз редактировалось mihali4; 27.11.2009 в 22:03.
Css вне форума Ответить с цитированием
Старый 27.11.2009, 23:58   #4
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Сообщение от Gerzs Посмотреть сообщение
Как можно проиграть mp3 без TMediaPlayer?
1. Через MCI (тогда вы берете на себя функции TMediaPlayera).
2. Подключить например один из этих движков - BASS, FMOD.
3. Или через DirectShow (есть оболочка для Delphi по имени DSPack)
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 28.11.2009, 17:48   #5
apromix
PHP, Delphi
Форумчанин
 
Аватар для apromix
 
Регистрация: 07.05.2008
Сообщений: 388
По умолчанию

Используйте bass.dll Это просто, легко и удобно
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты
apromix вне форума Ответить с цитированием
Старый 28.11.2009, 21:01   #6
Gerzs
Форумчанин
 
Аватар для Gerzs
 
Регистрация: 23.07.2009
Сообщений: 185
По умолчанию

Пробовал с помощью bass.dll, что-то не получается.
Код:
procedure TForm11.Button1Click(Sender: TObject);
var
  res: HStream;
  f:PWideChar;
begin
 f:='D:\f_000232.mp3';
 res:=BASS_StreamCreateFile(FALSE, f, 0, 0, BASS_MP3_SETPOS); //  почему-то возвращает ноль
 ShowMessage(IntToStr(res));
 Bass_channelPlay(res, false);
end;

procedure TForm11.FormCreate(Sender: TObject);
begin
BASS_Init(1, 44100, 0, Form11.handle, nil);
end;
З.Ы. bass.dll v2.4, Delphi 2009
Gerzs вне форума Ответить с цитированием
Старый 28.11.2009, 21:29   #7
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

В дополнение, из приведенных мной способов, способ 2 кодеконезависимый, но нужно длл с программой таскать. Способ 1 и 3 зависят от установленных в системе кодеков. Какой выбрать зависит от задачи. Да, есть еще 4-й способ - самому mp3 декодер написать

Для BASS есть компонент - обертка, с ним примеры есть, да и вообще исходников с ним куча, скачай и посмотри как там.

p.s. Пример работы с FMOD в Delphi я уже выкладывал на этом форуме в разделе про игры
http://www.programmersforum.ru/showp...8&postcount=70
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 28.11.2009 в 21:39.
mutabor вне форума Ответить с цитированием
Старый 28.11.2009, 22:33   #8
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

Цитата:
способ 2 кодеконезависимый, но нужно длл с программой таскать
дополню тоже... решается "впихиванием" в ресурсы
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 02.12.2009, 14:53   #9
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Можно исчо lameenc (как то так вроде)... Но исходники ток на C... А так можно юзать её dll. Хотя Bass компактнее и качественее чем lameenc. Вот.
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 03.12.2009, 08:29   #10
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

AudioLab
NewAudioComponents
SERG1980 вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме от 7000 рублей в месяц



Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MediaPlayer воспроизведение Simon..14 Общие вопросы C/C++ 9 19.03.2009 17:19
Воспроизведение SLIMMUS Общие вопросы Delphi 1 13.09.2008 14:45
MediaPlayer - как сделать последовательное воспроизведение mp3 файлов (именно mp3) Kashp Компоненты Delphi 13 28.09.2007 07:38
Воспроизведение приложения Петр Общие вопросы Delphi 2 25.07.2007 06:53
Воспроизведение звука John_chek Общие вопросы Delphi 5 05.06.2007 14:18


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Скидки на курсы GeekBrains 40%, выбирайте программу для себя