Воспроизведение mp3

Вопросы использования сторонних (не входящих в состав FPC и Lazarus) утилит и библиотек.

Модератор: Модераторы

Воспроизведение mp3

Сообщение Delphi » 30.11.2013 23:23:36

Здравствуйте.
Задача такая:
Есть mp3 файлы на удаленном сервере.
Нужно средствами делфи сделать миниплеер.
Т.е. воспроизводим файл по ссылке, если он уже был скачан - берем из кеша.
Перемотка, отображение времени.
Подскажите, как подобное реализовать.
Спасибо
Delphi
новенький
 
Сообщения: 26
Зарегистрирован: 18.02.2012 01:12:52

Re: Воспроизведение mp3

Сообщение hinst » 01.12.2013 12:43:26

Средствами дельфи, ну это на форум по дельфи наверное. Для проигрывания mp3 можно BASS.dll попробовать взять, как в Delphi так и в FPC можно его использовать, надо только модуль импортирующий функции из dll нужный найти
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Re: Воспроизведение mp3

Сообщение Little_Roo » 01.12.2013 14:30:52

un4seen.com
на форуме и для делфи, и для лазаря все разжевано
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 638
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

Re: Воспроизведение mp3

Сообщение Delphi » 01.12.2013 16:39:33

Средставим FP конечно же, ошибся.
Важна кроссплатформенность.
Попробовал BASS:
Код: Выделить всё
...
var
  Form1: TForm1;
  Channel    : DWORD;
  i:integer; Filename:string;   
...
procedure TForm1.Button1Click(Sender: TObject);

begin
  i:=0;
  Filename:='/home/kos/1.mp3';
  player;

end;

procedure TForm1.FormCreate(Sender: TObject);
var s:pointer;
begin
  // проверка корректности загруженной BASS.DLL


    // Инициализация аудио - по умолчанию, 44100hz, stereo, 16 bits
    if not BASS_Init(-1,44100,0,s,s) then

    begin
      showmessage('Ошибка инициализация аудио');

    end;
end;

procedure TForm1.player;
begin

//пытаемся загрузить файл и получить дескриптор канала
Channel := BASS_StreamCreateFile(FALSE, PChar(FileName), 0, 0, 0);
//если дескриптор канала=0 (файл по какой то причине не может быть загружен),
//выдаем сообщение об ошибке и выходим
if Channel=0 then begin ShowMessage('Ошибка загрузки Файла');exit;end;

BASS_ChannelSetAttribute(Channel, BASS_ATTRIB_VOL, 100);

//командой BASS_ChannelPlay(Channel, False) пытаемся воспроизвести файл,
//если это невозможно, то выдаем сообщение об ошибке
if not BASS_ChannelPlay(Channel, False) then
            begin ShowMessage('Ошибка воспроизведения файла');exit;end;

//присваеваем заголовку формы имя проигрываемого файла
end;

Вместо музыки - скрип, треск с прерываниями. Пробовал разные mp3.
Delphi
новенький
 
Сообщения: 26
Зарегистрирован: 18.02.2012 01:12:52

Re: Воспроизведение mp3

Сообщение Mirage » 01.12.2013 17:48:46

Наверное там что-то не так с форматом, количеством каналов и т.п. Неправильно определилось. Попробуй задать вручную.
Помимо Bass, который кстати не совсем бесплатен, есть еще Audiere. Хедеры для FPC для неё тоже есть и работают, я проверял.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: Воспроизведение mp3

Сообщение Little_Roo » 01.12.2013 22:03:13

Есть еще проект Audorra - портируется под лазаря прекрасно...
Пробовал сам, но проблемка (?) с русскими буквами в названиях файлов и путях - (наверняка НЕ проблема, но лень было рыть вглубь :D
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 638
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

Re: Воспроизведение mp3

Сообщение Delphi » 03.12.2013 01:33:44

Mirage писал(а):Наверное там что-то не так с форматом, количеством каналов и т.п. Неправильно определилось. Попробуй задать вручную.
Помимо Bass, который кстати не совсем бесплатен, есть еще Audiere. Хедеры для FPC для неё тоже есть и работают, я проверял.

Пробовал ставить, либа не скомпилилась под linux. Пробовал последние 2 версии.

Little_Roo писал(а):Есть еще проект Audorra - портируется под лазаря прекрасно...
Пробовал сам, но проблемка (?) с русскими буквами в названиях файлов и путях - (наверняка НЕ проблема, но лень было рыть вглубь :D

Скачал с сайта, прописал пути к файлам в fpc.cfg.
Преобразовал демо проект. Пытаюсь скомпилить, модуль AcSysUtils.pas не находит LclIntf :(
Delphi
новенький
 
Сообщения: 26
Зарегистрирован: 18.02.2012 01:12:52


Вернуться в Сторонние средства

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11

Рейтинг@Mail.ru