Перейти к содержанию
Fire Monkey от А до Я
  • 0

Использование BASS в FMX


To_LED

Вопрос

Народ помогите очень срочно нужно перевести один проект на FMX для андроида может кто нибудь показать пример использования библиотеки bass в delphi xe 8 главная проблема у меня сейчас это добавление самой библиотеки путь прописываю в Library в папку lib кидаю bass.pas но все равно в Uses когда пишу bass ругается пишу bassfunctions ругается что я не так делаю помогите народ

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
  • 0

 

Может кому пригодится https://github.com/ersanyakit/FMX.Radio

Если нажать на Pause, а потом на Play, то загрузка начинается с нуля

 

По моему так и должно быть вот код из unit FMX.Radio.Windows;

procedure TFMXPlatformRadio.Pause;
begin
  if FActiveChannel<>0
    then begin
          BASS_ChannelStop(FActiveChannel);
         end;
end;
Изменено пользователем To_LED
Ссылка на комментарий
  • 0

Жаль нет библиотеки для работы в iOS, надо будет выложить. Смотрю моя статья про Андройд промелькнула. :)

А ваша статья мне очень помогла в добавлении библиотеки огромное вам спасибо

Ссылка на комментарий
  • 0

 

Может кому пригодится https://github.com/ersanyakit/FMX.Radio

Если нажать на Pause, а потом на Play, то загрузка начинается с нуля

 

А у вас получается регулировать громкость? в Windows

Изменено пользователем To_LED
Ссылка на комментарий
  • 0

To_LED, запускал только из под Android, поэтому не подскажу.
 
Проверил. Нет, звук в Windows не регулируется. 



procedure TFMXPlatformRadio.SetVolume(const AValue:Single);
begin
//
end;

^^^ это как понять? :) (в FMX.Radio.Windows)
 
Видимо надо как-то так менять BASS_ChannelSetAttribute(stream, BASS_ATTRIB_VOL, vol/100);
 
В общем вот так пропишите в FMX.Radio.Windows и звук будет нормально меняться в Виндоуз.

procedure TFMXPlatformRadio.SetVolume(const AValue:Single);
begin
  BASS_ChannelSetAttribute(FActiveChannel, BASS_ATTRIB_VOL, AValue/100);
end;

Ну и вдогонку измените определение уровня громкости

function TFMXPlatformRadio.GetVolume: Single;
var
  AValue:Float;
begin
  if BASS_ChannelGetAttribute(FActiveChannel, BASS_ATTRIB_VOL, AValue) then
    Result := AValue;
end;

использование в программе:

procedure TForm1.Button3Click(Sender: TObject);
begin
    if Assigned(FRadyo) then
    begin
      LabVolume.Text:=(FRadyo.GetVolume()*100).ToString;
    end;
end;

Ждем код для iOS от alexbirukov  :) 

Изменено пользователем Rusland
Ссылка на комментарий
  • 0

alexbirukov, спасибо за статью. Можно ли отказаться от сторонних библиотек DPF iOS Native Components?

 

PS. ваша тема задвоилась

Сторонние компоненты, как таковые, не используются, с их помощью подтягивается фреймворк Audiotoolbox, без него проект не собирается и выдаёт ошибку. Установка компонентов - самый просто способ подключения фреймворка. К сожалению других путей я пока не нашёл (да в общем-то и не особо искал). Если кто-то знает более элегантное решение, с радостью опробую и напишу в статье.

 

Статья не задвоилась, там две разные статьи, одна для iOS, вторая для Android.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...