Форум программистов, компьютерный форум, киберфорум
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. Показов 3372. Ответов 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
8488 / 6155 / 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
8488 / 6155 / 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
8488 / 6155 / 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
8488 / 6155 / 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
8488 / 6155 / 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
8488 / 6155 / 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
8488 / 6155 / 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
8488 / 6155 / 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
8488 / 6155 / 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
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru