Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
 Аватар для Mr.Sandman
42 / 59 / 15
Регистрация: 19.12.2011
Сообщений: 552

drag and drop плей листа (bass.dll)

12.05.2012, 22:10. Показов 3603. Ответов 38
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код воспроизведения,
C++
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
29
30
31
32
33
#include <vcl.h>
#include "bass.h"
#pragma hdrstop
 
#include "Unit2_player.h"
 
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
HSAMPLE samp;
HSTREAM chan;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
    : TForm(Owner)
{
 
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button1Click(TObject *Sender)
{
 AnsiString b="C:\\olololo.mp3";
char *a=b.c_str();
chan=BASS_StreamCreateFile(FALSE, a, 0, 0, 0);
 
BASS_ChannelPlay(chan,FALSE);
}
//---------------------------------------------------------------------------
 
void __fastcall TForm2::FormCreate(TObject *Sender)
{
 BASS_Init( -1,44100, BASS_DEVICE_3D,0,NULL);
}
Как при помощи события drag and drop у формы, создать так называемый плей лист, и дальнейшее воспроизведение его как поток
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.05.2012, 22:10
Ответы с готовыми решениями:

Куда закинуть bass.dll,bass.h,bass.lib
Ребят, пересмотрел темы на форуме, гуглил, толком ничего не нашел. Собственно такая проблема, вот я скачал архив bass.zip, в нем находится...

Плей Лист на Delphi с bass.dll неполучаеться
Народ всем привет) и с праздником ! у меня таое дело : Я пишу мр3 проигрыватель с bass.dll и у меня появилась проблема : как создать в нём...

Bass.dll.net - Ошибка инициализации при обращении к Bass.dll
Создаю тестовое консольное приложение в точности по гайду:...

38
 Аватар для Mr.Sandman
42 / 59 / 15
Регистрация: 19.12.2011
Сообщений: 552
15.05.2012, 18:00  [ТС]
Студворк — интернет-сервис помощи студентам
Avazart, Лучший!

Добавлено через 53 минуты
C++
1
2
3
4
5
6
7
8
 if(OpenDialog1->Execute())
 {
  ListBox1->Items->AddStrings(OpenDialog1->Files);// или ListBox1->Items->Assign(OpenDialog1->Files);
 }
    AnsiString b = ListBox1->Items->Strings[ind];
    //AnsiString p1= SL->Strings[ListBox1->ItemIndex]+ListBox1->Items->Strings[ListBox1->ItemIndex];
char * p2 = b.c_str() ;
chan = BASS_StreamCreateFile(FALSE, p2, 0, 0, 0);
Все работает, только вот как после окончания песни включить следующюю песню автоматом. Пытался ставить события но ничего не выходит
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.05.2012, 18:06
Поройся в Басс может там есть то что говорит о том что песня уже закончилась.
Либо найди как узнать длительность песни и ставь таймер на это время с запасом...
1
 Аватар для Mr.Sandman
42 / 59 / 15
Регистрация: 19.12.2011
Сообщений: 552
15.05.2012, 19:52  [ТС]
C++
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
fx[1] = BASS_ChannelSetFX(stream, BASS_FX_DX8_PARAMEQ, 1);
fx[2] = BASS_ChannelSetFX(stream, BASS_FX_DX8_PARAMEQ, 1);
fx[3] = BASS_ChannelSetFX(stream, BASS_FX_DX8_PARAMEQ, 1);
fx[4] = BASS_ChannelSetFX(stream, BASS_FX_DX8_PARAMEQ, 1);
fx[5] = BASS_ChannelSetFX(stream, BASS_FX_DX8_PARAMEQ, 1);
fx[6] = BASS_ChannelSetFX(stream, BASS_FX_DX8_PARAMEQ, 1);
fx[7] = BASS_ChannelSetFX(stream, BASS_FX_DX8_PARAMEQ, 1);
fx[8] = BASS_ChannelSetFX(stream, BASS_FX_DX8_PARAMEQ, 1);
fx[9] = BASS_ChannelSetFX(stream, BASS_FX_DX8_PARAMEQ, 1);
fx[10]= BASS_ChannelSetFX(stream, BASS_FX_DX8_PARAMEQ, 1);
 
p.fGain =15-Form1->TrackBar11->Position;
p.fBandwidth = 3;
p.fCenter = 80;
BASS_FXSetParameters(fx[1], @p);
 
p.fGain = 15-Form1->TrackBar10->Position;
p.fBandwidth = 3;
p.fCenter = 170;
BASS_FXSetParameters(fx[2], @p);
//3
p.fGain = 15-Form1->TrackBar9->Position;
p.fBandwidth = 3;
p.fCenter = 310;
BASS_FXSetParameters(fx[3], @p);
p.fGain = 15-Form1->TrackBar8->Position;
p.fBandwidth = 3;
p.fCenter = 600;
BASS_FXSetParameters(fx[4], @p);
 
p.fGain = 15-Form1->TrackBar7->Position;
p.fBandwidth = 3;
p.fCenter = 1000;
BASS_FXSetParameters(fx[5], @p);
 
p.fGain = 15-Form1->TrackBar6->Position;
p.fBandwidth = 3;
p.fCenter = 3000;
BASS_FXSetParameters(fx[6], @p);
 
p.fGain = 15-Form1->TrackBar5->Position;
p.fBandwidth = 3;
p.fCenter = 6000;
BASS_FXSetParameters(fx[7], @p);
 
p.fGain = 15-Form1->TrackBar4->Position;
p.fBandwidth =3;
p.fCenter = 10000;
BASS_FXSetParameters(fx[8], @p);
 
p.fGain = 15-Form1->TrackBar3->Position;
p.fBandwidth = 3;
p.fCenter = 12000;
BASS_FXSetParameters(fx[9], @p);
 
p.fGain = 15-Form1->TrackBar12->Position;
p.fBandwidth = 3;
p.fCenter = 14000;
BASS_FXSetParameters(fx[10], @p);
не подскажешь, чем тут может являться "p" ?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.05.2012, 19:56
Code
1
BASS_FXSetParameters(fx[10], @p);
Если этот код с делфей то "@p" это *p или &p, но не уверен
А p это структура или класс.
0
 Аватар для Mr.Sandman
42 / 59 / 15
Регистрация: 19.12.2011
Сообщений: 552
15.05.2012, 19:59  [ТС]
нет, не в этом дело, у меня стоит конечно BASS_FXSetParameters(fx[1], &p);
Просто что это за p?
[BCC32 Error] Unit2_pl.cpp(37): E2451 Undefined symbol 'p'
как эту заразу объявить? с простым объявлением не катит.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.05.2012, 20:05
Пишешь
C++
1
BASS_FXSetParameters(
Потом Ctr+Space и знаток кода должен подсказать что за тип переменной p
0
 Аватар для Mr.Sandman
42 / 59 / 15
Регистрация: 19.12.2011
Сообщений: 552
15.05.2012, 21:39  [ТС]
var p undefined
BASS_FXSetParameters(usigned long handle, const void* params)

Добавлено через 1 час 27 минут
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.eq5Change(Sender: TObject);
var
  PEZ: BASS_DX8_PARAMEQ;
begin
  BASS_ChannelRemoveFX(strs[i], DFX); // чтобы убрать предыдущую настройку
  DFX := BASS_ChannelSetFX(strs[i], BASS_FX_DX8_PARAMEQ, 1);
  PEZ.fCenter := 500; // частота регулируемой полосы (в герцах, от 80 до 16000)
  PEZ.fGain := eq5.Position; // задаваемое значение (от -15 до 15)
  BASS_FXSetParameters(DFX, @PEZ);
end;
тут как бы pez==p , как то же самое для C++ сделать ? как объявить?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.05.2012, 21:45
C++
1
2
3
4
5
BASS_DX8_PARAMEQ  PEZ;
PEZ.fCenter = 500;
PEZ.fGain = eq5.Position;
//...
BASS_FXSetParameters(/*....*/, &PEZ);
1
 Аватар для Mr.Sandman
42 / 59 / 15
Регистрация: 19.12.2011
Сообщений: 552
15.05.2012, 21:56  [ТС]
Работает, только издает какие то очень уж странные звуки DD
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.05.2012, 21:57
Параметры правильно настрой
C++
1
2
PEZ.fCenter = ???;
PEZ.fGain = ???;
0
 Аватар для Mr.Sandman
42 / 59 / 15
Регистрация: 19.12.2011
Сообщений: 552
15.05.2012, 23:28  [ТС]
Да значения меняю, а ни хрена не меняется. (PEZ.fBandwidth = 0 с ним все плохо).

Добавлено через 9 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm2::TrackBar2Change(TObject *Sender)
{
 
 fx[1] = BASS_ChannelSetFX(chan, BASS_FX_DX8_PARAMEQ, 1);
 BASS_DX8_PARAMEQ  PEZ;
 PEZ.fGain =0-Form2->TrackBar2->Position;
 PEZ.fBandwidth = 3;
 PEZ.fCenter = 80;
 
 
 BASS_FXSetParameters(fx[1], &PEZ);
}
вот так настраиваю, но при каких бы значениях не стояли "центр и гаин " из за банд вид он коряжет звук.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.05.2012, 23:31
Ну а что собственно означает fBandwidth ?
0
 Аватар для Mr.Sandman
42 / 59 / 15
Регистрация: 19.12.2011
Сообщений: 552
16.05.2012, 19:02  [ТС]
я точно не знаю, но от него все плохо, без него ничего не паШет

Добавлено через 19 часов 29 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void __fastcall TForm2::TrackBar2Change(TObject *Sender) {
 
    //fx[1] = BASS_ChannelSetFX(chan, BASS_FX_DX8_PARAMEQ, 1);
    // BASS_DX8_PARAMEQ  PEZ;
    //PEZ.fGain = 0 - Form2->TrackBar2->Position;
    // PEZ.fBandwidth = 1;
    // PEZ.fCenter = 31;
 
    //BASS_FXSetParameters(fx[10], &PEZ);
    //PEZ.fCenter = 63;
 
    fx[1] = BASS_ChannelSetFX(chan, BASS_FX_DX8_PARAMEQ, 1);
    PEZ.fCenter = 80; // частота регулируемой полосы (в герцах, от 80 до 16000)
  PEZ.fGain = TrackBar2->Position; // задаваемое значение (от -15 до 15)
  BASS_FXSetParameters(fx[1], &PEZ);
}
Кто поможет?
Просто везде так настраивают, а у меня гудение вместо звука(
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
16.05.2012, 19:15
Читай мануал по Басс, и гугли "Характеристики звука"
0
 Аватар для Mr.Sandman
42 / 59 / 15
Регистрация: 19.12.2011
Сообщений: 552
16.05.2012, 19:21  [ТС]
я обгуглил 90% гугла
0
 Аватар для Mr.Sandman
42 / 59 / 15
Регистрация: 19.12.2011
Сообщений: 552
16.05.2012, 19:28  [ТС]
мб у кого пойдет, просто послушайте(добавляйте болье трех песен) поменяйте значение первых двух скрол баров, вот что за жуть?
Вложения
Тип файла: rar Project1_11.rar (96.4 Кб, 12 просмотров)
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
16.05.2012, 19:48
я обгуглил 90% гугла
Да ладно...а 10% оставил мне
http://www.un4seen.com/doc/

Добавлено через 11 минут
Ещё Компиляция программы под С++ Builder, чтобы работала на других компьютерах не у всех 6-й Builder стоит
1
 Аватар для Mr.Sandman
42 / 59 / 15
Регистрация: 19.12.2011
Сообщений: 552
16.05.2012, 21:01  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
http://www.un4seen.com/doc/
- огромное спасибо!


Цитата Сообщение от Avazart Посмотреть сообщение
Ещё Компиляция программы под С++ Builder,чтобы работала на других компьютерах! не у всех 6-й Builder стоит
- это то ясно)) у меня xe2 )
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
16.05.2012, 21:09
у меня xe2 )
Ну это не важно, важно что на других компах не запускатся на которых нет XE
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.05.2012, 21:09

Где взять bass.dll bass.lib for win64
Приветствую. Тут много тем было на эти вопросы , но ответа не нашел. Где можно и вообще есть ли bass.dll,bass.lib для Windows 8.1 64...

[Linker Error] 'E:\Programming\C++\BASS.DLL\BASS.LIB' contains invalid OMF record, type 0x21 (possibly COFF)
Народ, подскажите пожалуйста, из-за чего ошибку билдер выбивает?? 'E:\Programming\C++\BASS.DLL\BASS.LIB' contains invalid OMF record,...

Сохранение плей листа
У меня есть код: На форме TTabControl, TListBox, TOpenDialog, и три кнопки: создать новый плейлист, добавить файлы в плейлист, удалить...

Выключение компьютера по окончании воспроизведения плей-листа Windows Media Player
Доброго времени суток! Скажите, уважаемые знатоки, можно ли создать скрипт который бы включал компьютер по окончании воспроизведения...

Drag drop
Нужно определить по какому именно слою щелкнул пользователь клавишей мыши, и затем этот объект должен двигаться вслед за мышью, пока...


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

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
Новые блоги и статьи
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru