Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> *.mp3, проиграть их без TMediaPlayer 
V
    Опции темы
kindDevil
Дата 1.9.2006, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 10.10.2005

Репутация: нет
Всего: нет



то есть существуют ли какие-нибудь стандартные функции и процедуры? 
скажем что-нибудь вроде playsound из mmsystem.
 smile 

Это сообщение отредактировал(а) kindDevil - 1.9.2006, 15:08
PM MAIL ICQ   Вверх
Snowy
Дата 1.9.2006, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Тебе нужно именно mp3 играть,или просто пожатые файлы?
Если mp3 - то дорога тебе к BASS.
Если нужно играть свои файлы, то playsound вполне подойдёт.

Добавлено @ 15:48 
Для mp3 и прочих форматов стандартных нет.
Но можно их помещать в wav контейнер и играть через PlaySound.
PM MAIL   Вверх
Alexeis
Дата 1.9.2006, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Цитата(Snowy @  1.9.2006,  15:47 Найти цитируемый пост)
Но можно их помещать в wav контейнер и играть через PlaySound.

Я вот искал искал инфу по этому самому помешению в Wav, но так и не нашел. Неужели файл mp3 и др. целиком, без изменений помещается в чанк данных wav?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 1.9.2006, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Нет, не помещается.
Может и есть какой способ, но я его не знаю.
Стандартный способ - жать голый wav в сжатый wav.
Сомневаюсь, что контент mp3 можно перенести в wav простой коррецией заголовков.
Но и такая возможность не исключена. Хотя, ни практически, ни теоретически такого не встречал.
PM MAIL   Вверх
Alexeis
Дата 1.9.2006, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Фокус в том что mp3 файлы можно помещать в Wav прямо в памяти, поскольку функция playsound при значении третьего парамета fdwSound 
Цитата

SND_MEMORY A sound event's file is loaded in RAM. The parameter specified by pszSound must point to an image of a sound in memory. 

позволяет проигрывать образы в памяти.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
kindDevil
Дата 1.9.2006, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 10.10.2005

Репутация: нет
Всего: нет



ясно.
а что такое BASS? 
собсна со звуком глубоко разбираться пока не намерен - обойдусь mediaplayer'ом, но все же интересно.
PM MAIL ICQ   Вверх
Alexeis
Дата 1.9.2006, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



kindDevil, Можно почитать здесь http://www.un4seen.com/
Вообще в ней реализованы многие методы для проигрывания звука в различных форматах, и еще др. функции связанные с созданием медиаплеера.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Тилос
  Дата 2.5.2007, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


SeparatorSoft



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.1.2007
Где: Красноярск

Репутация: нет
Всего: нет



Я по английски мало понимаю :-(

Подскажите, как просто используя bass, проиграть .mp3 файл, который расположен в папке с программой. Там же имхо несложно должно быть  smile

p.s. на примере желательно %)
p.s.s. я не тупой, я принципиальный(с) %)

PM MAIL WWW ICQ   Вверх
Snowy
Дата 2.5.2007, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Там же примеры в комплекте идут.
PM MAIL   Вверх
darkart
Дата 2.5.2007, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 9.11.2005

Репутация: нет
Всего: 31



MCI подойдет?
Форма, btn* - кнопки
Код

unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,mmsystem;

type
  TfrmMain = class(TForm)
    btnPlay: TButton;
    btnPause: TButton;
    btnStop: TButton;
    btnOpen: TButton;
    Label1: TLabel;
    lblFileName: TLabel;
    dlgOpen: TOpenDialog;
    procedure btnPlayClick(Sender: TObject);
    procedure btnOpenClick(Sender: TObject);
    procedure btnPauseClick(Sender: TObject);
    procedure btnStopClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    bolPaused:boolean;
  end;
var
  frmMain: TfrmMain;

implementation

{$R *.dfm}

procedure TfrmMain.btnPlayClick(Sender: TObject);
var
  iRes:longint;{iRes - результат операции}
begin
  if FileExists(lblFileName.Caption) then//если файл с именем lblFileName.Caption существует
  begin
    if bolPaused then//если пауза
      btnPause.Click//нажимаем на паузу
    else//иначе - воспроизведение заново
    begin
      btnStop.Click;//нажимаем на стоп
      //открываем устройство
      iRes:=mciSendString(PChar('open "'+lblFileName.Caption+'" alias waveaudio'),nil,0,0);
      if iRes=0 then//если результат - без ошибок
        iRes:=mciSendString(PChar('play waveaudio'),nil,0,0);//играем
    end;
  end;
end;

procedure TfrmMain.btnOpenClick(Sender: TObject);
begin
  if dlgOpen.Execute then//если выбор состоялся
  begin
    if FileExists(dlgOpen.FileName) then//если файд существует
    begin
      lblFileName.Caption:=dlgOpen.FileName;//запоминаем имя файла в Caption метки
      bolPaused:=false;//не пауза
      btnPlay.Click;
    end;
  end;
end;

procedure TfrmMain.btnPauseClick(Sender: TObject);
begin
  if bolPaused then//если пауза
    mciSendString(PChar('resume waveaudio'),nil,0,0)//восстанавливаем воспроизведение
  else
    mciSendString(PChar('pause waveaudio'),nil,0,0);//пауза
  bolPaused:=not bolPaused;//пауза
end;

procedure TfrmMain.btnStopClick(Sender: TObject);
begin
  mciSendString(PChar('stop waveaudio'),nil,0,0);//останавливаем воспроизведение
  mciSendString(PChar('close waveaudio'),nil,0,0);//закрываем устройство
  bolPaused:=false;//не пауза
end;

procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  btnStop.Click;//на всякий случай:)
end;

procedure TfrmMain.FormCreate(Sender: TObject);
begin
  bolPaused:=false;//инициализация
end;

end.

P.S. : пример прилагаетсяsmile

Это сообщение отредактировал(а) darkart - 2.5.2007, 19:32

Присоединённый файл ( Кол-во скачиваний: 27 )
Присоединённый файл  testmp3.zip 15,58 Kb
PM MAIL WWW ICQ Skype GTalk   Вверх
Тилос
Дата 6.5.2007, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


SeparatorSoft



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.1.2007
Где: Красноярск

Репутация: нет
Всего: нет



darkart, спасибо брат, все понял  smile 
PM MAIL WWW ICQ   Вверх
Snowy
Дата 6.5.2007, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Вообще-то TMediaPlayer это и есть MCI, обёрнутое в компонент.
PM MAIL   Вверх
darkart
Дата 6.5.2007, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 9.11.2005

Репутация: нет
Всего: 31



TMediaPlayer это и есть MCI smile , но MCI не есть TMediaPlayer smile 
PM MAIL WWW ICQ Skype GTalk   Вверх
B2_Russia
Дата 14.2.2008, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В доску свой :)
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 3.7.2003
Где: Тверь

Репутация: нет
Всего: 1



BASS
Я правильно понимаю, что никаких неудобств при проигрывании файла mp3 я не испытаю?
То есть не приобретая лицензию?
В пакете есть mp3-free библиотека.
Дело в том, что сейчас то вроде как проигрывается все нормально, мне важно, чтобы она не отказалась работать потом у юзеров, когда программа пойдет в тираж так скть... =)
PM WWW ICQ   Вверх
Snowy
Дата 14.2.2008, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



BASS бесплатен для любого использования.
Работает под всеми виндами.
Единственное неудобство - dll таскать надо.
И не бросать его в System32, а класть в папку с программой!
Ибо много таких умников, бросающих в system, а потом конфликт версий у разных программ...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0604 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.