Аватар для ZhenyaZERO
1 / 1 / 0
Регистрация: 11.10.2015
Сообщений: 33

Собственный плеер на bass.dll

10.12.2015, 10:33. Показов 3027. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дарового времени суток всем, кто это читает.
Потратил два дня я на создание плеера, почти все исправил своими руками. Но остались только две проблемки.

Первая проблемка - это то, что плеер не умеет открывать файлы из проводника(Открыть с помощью...), а аимп, который написан почти так же, как и этот плеер, умеет.

А вторая - это то, что при запуске, плеер должен показывать "00:00:00", так как при запуске ничего не воспроизводится. Но! Отображается, якобы, как-будто что-то воспроизводилось, и воспроизводилось секунду! То-есть, показывается на "00:00:00", а "00:00:01"!

Ну, и для подробности, даю исходники:
Вложения
Тип файла: zip Oner.zip (594.2 Кб, 102 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.12.2015, 10:33
Ответы с готовыми решениями:

Плеер на Bass.dll
Вообщем проблема такова я делаю вот так procedure TForm1.Timer1Timer(Sender: TObject); begin ...

Аудио плеер на bass.dll
Значит сделал я плеер на bass.dll по вот этому уроку http://basicsprog.ucoz.ru/publ/6-1-0-17 И мне захотелось увеличить его...

Плеер на библиотеке bass
пишу плеер на bass. с воспроизведением формата mp3 проблем не было. но вот другие форматы как wav, wma, aac он не хочет воспринимать. можно...

10
10.12.2015, 10:36

Не по теме:

Цитата Сообщение от ZhenyaZERO Посмотреть сообщение
аимп, который написан почти так же, как и этот плеер, умеет
пруф в студию!

0
10.12.2015, 10:42  [ТС]

Не по теме:

nestquik2,
AIMP и Oner(Вот этот плеер, с которым у меня проблемы) написаны
- на Delphi
- с использованием библиотеки bass.dll

0
10.12.2015, 11:12

Не по теме:

Цитата Сообщение от ZhenyaZERO Посмотреть сообщение
- с использованием библиотеки bass.dll
Она там используется чисто для декодирования аудиофайлов и стримминга аудиопотока из сети.

0
 Аватар для ZhenyaZERO
1 / 1 / 0
Регистрация: 11.10.2015
Сообщений: 33
10.12.2015, 11:14  [ТС]
nestquik2,
думаю, оффтопика хватит
0
12 / 12 / 7
Регистрация: 09.12.2015
Сообщений: 191
10.12.2015, 11:39
надо ассоциаровать файлы с твоей программой тогда будет открывать, на счет 0:00:01 попробуй после инициализации BASS, в Лейбл принудительно поставить нужное значение
0
 Аватар для ZhenyaZERO
1 / 1 / 0
Регистрация: 11.10.2015
Сообщений: 33
10.12.2015, 11:43  [ТС]
oryth, я уже ассоциировал, но плеер просто запускался, как будто его просто взяли и запустили. То-есть когда открываешь через проводник то плеер ничего не воспроизводит.
А насчет принудительно подумаю еще..
0
Пишу на Delphi...иногда
 Аватар для cotseec
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
10.12.2015, 20:11
Цитата Сообщение от ZhenyaZERO Посмотреть сообщение
плеер ничего не воспроизводит.
чтобы программа что-то делала при запуске с переданным ей путем к файлу/файлам - параметрами (а такое имеет место быть при запуске через ассоциированный файл) необходимо в программе обрабатывать ParamStr + предусмотреть передачу этого параметра в экземпляр уже запущенной программы, в случае с плеером: плеер что-то воспроизводит, а пользователь кликнул на ассоциированный файл - имхо запуск еще одного экземпляра плеера считаю некузявым.
0
0 / 0 / 0
Регистрация: 23.10.2014
Сообщений: 28
12.12.2015, 17:56
Цитата Сообщение от ZhenyaZERO Посмотреть сообщение
А вторая - это то, что при запуске, плеер должен показывать "00:00:00"
Отключи таймер и включай его только когда воспроизводится файл:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...FormCreate...
begin
...
Timer1.Enabled:= False;
...
end;
 
procedure TForm1.Player;
begin
...
//Устанавливаем PlayMode - play
mode:=play;
 
Timer1.Enabled:= True;
end;
Соответственно на Стоп и на Паузу останавливаешь таймер.
0
3 / 3 / 4
Регистрация: 16.09.2013
Сообщений: 350
19.02.2016, 14:57
Чтобы открывалась после ассоциации нужно на загрузке формы поставить условие на проверку параметра

if (ParamCount>0) then
begin
s:=ParamStr(1);
listbox1.Items.Add(s);
0
0 / 0 / 0
Регистрация: 23.10.2014
Сообщений: 28
19.02.2016, 19:08
Извините, может не в тему, но не нашел нигде ответа, а здесь про bass.dll, поэтому хочу попросить помощи.
Может кто знает как прикрутить из проекта "spectrum" из комплекта BASS визуализацию градиентом. Никак не могу понять как назначить вместо простого цвета - градиент в зависимости от уровня как в примере "spectrum" от зеленого до желтого и красного в зависимости от уровня звучания. Может кто сталкивался? Саму визуализацию я сделал, а вот чтобы выводилось градиентом не пойму как реализовать. Использую в программе bass_simple, bass_simple_fx, bass_simple_vis и т.д. В bass_simple_vis можно указать просто определенный цвет при помощи которого будет выводиться на панель уровень звука.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
constructor TBassSimpleVis.Create(bassObj: TObject; PaintBox: ExtCtrls.TPanel;
  milisecond: cardinal);
begin
  VisBuff := TBitmap.Create;
  BackBmp := TBitmap.Create;
 
  Timer:=TTimer.Create(PaintBox);
  Timer.Enabled:=false;
  Timer.Interval:=milisecond;
  Timer.OnTimer:=self.TimerTimer;
  self.bassObj:=TBassSimple(bassObj);
  self.paintBox:=TPanel(PaintBox);
 
  VisBuff.Width := self.PaintBox.Width;
  VisBuff.Height := self.PaintBox.Height;
  BackBmp.Width := self.PaintBox.Width;
  BackBmp.Height := self.PaintBox.Height;
 
  BkgColor := clBlack;
  [B]PenColor := 14184595;[/B]
  FrmClear := True;
  UseBkg := False;
  DrawX:=0;
  DrawY:=0;
  DrawType:=0;
 
  OnCreate;
end;
За это отвечает PenColor.
Как прикрутить градиент как в примере и как у Adobe Audition?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.02.2016, 19:08
Помогаю со студенческими работами здесь

Bass.dll, bass_fx.dll - как сделать, чтобы менялась только высота звука без скорости?
Как сделать, чтобы при изменении частоты потока скорость оставалась той же, то есть, чтобы менялась только высота звука, а длина...

Bass.dll аудио
Доброго времени суток. Дело такое, нужен простенький аудиоредактор на delphi, решил сделать с помощью bass.dll. Но не могу понять как с...

Bass.dll BASS_ERROR_FILEOPEN
я написал вот такую процедуру: if not (bass_init(-1, 44100, 0, handle, 0)) then showmessage('Ошибка инициализации bass.dll!'); ...

Bass.dll не работает
Кароче такая проблема: хочу написать плеер, основан на bass.dll Пишу что надо, компилирую, выдает оишбку, мол, программа не может быть...

использование bass.dll
Доброго времени суток. Делаю простой плеер (сдираю всё с исходника), но проблема с перемоткой. В исходнике используется gauge и процедура...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru