Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.09.2017, 22:57
AnatoliK AnatoliK вне форума
Прохожий
 
Регистрация: 11.09.2017
Сообщения: 9
Версия Delphi: Delphi 10 Lite
Репутация: 10
Вопрос Воспроизведение mp3 из памяти (bass.dll)

Здравствуйте уважаемые форумчане!

Снова нужна ваша помощь. И большое спасибо за помощь в прошлый раз.
У меня есть файл ресурсов который, я создал с помощью Restorator 2006. В него я поместил 3 mp3 файла, для простоты назвал 1.mp3, 2.mp3 и 3.mp3. Файл с ресурсами называется DataSound и имеет формат .res. Подключаю его так:
Код:
{$R DataSound.res}
Теперь немного отойду в сторону. Долго гуглил и искал как-же работать с bass.dll и вообще что-либо воспроизвести с помощью него (т.к. судя по поиску в гугле все хотят сразу сделать mp3 плеер мне их варианты не очень подходили потому, что они нацелены на воспроизведение файлов извне проекта). В итоге после долгих поисков и попыток я с горем пополам освоил запуск mp3 из папки с проектом:
Код:
procedure TForm1.FormCreate(Sender: TObject);

begin
      BASS_Init(-1, 44100, 0, handle, nil);
      BASS_Start;
end;

procedure TForm1.Button1Click(Sender: TObject);

begin
channel:=BASS_StreamCreateFile(false, pchar('11.mp3'), 0, 0, 0 );
bass_channelplay(channel,true);
end;
На просторах интернета вычитал, что в BASS_StreamCreateFile первый параметр означает откуда будет воспроизводиться файл, извне или из памяти, false и true соответственно. Пытался запустить файл из ресурса изменив false на true. Но что бы я не писал в названии ничего не воспроизводилось. Очевидно, что что-то делаю не так, а что не очень понимаю. Или где-то чего-то не дописал.

Когда делал другую (первую) программку, файлы были маленькие и их формат wav меня устраивал. Скомпилированный проект с ними весил 6 МБ, что я считаю приемлемым. А сейчас только один звуковой файл весит около 18 МБ в wav. А всего звуков будет около 25. Воспроизводил их так:
Код:
PlaySound('old_metalbeep',0,SND_ReSOURCE or SND_ASYNC);
Поэтому в итоге прошу Вас подсказать как-же запустить mp3 файл из памяти через bass.dll. О других возможностях не слышал. Т.к. mp3-плеер делать не собираюсь, то если вы знаете, как воспроизвести mp3 проще предлагайте Ваши варианты. Буду рад любой помощи.

P.S. Надеюсь, что ничего не реального не хочу и эта задача вполне выполнима, т.к. захламлять проект папкой с mp3 файлами не хотелось бы.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:33.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter