Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как взять громкость звукового файла в определенный момент времени? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массив структур с данными о клиентах банка http://www.cyberforum.ru/cpp-beginners/thread1727080.html
Ребята, помогите разобраться в структурах. Есть задание, нужно сформировать массив структур с данными о клиентах банка : дата проведения операции , № счета , сумма безналичного получения \ перевода ,...
C++ Как ввести строку с пробелами char s1; char s2; int a; cin.getline(s1,50); cin>>a; cin.getline(s2,50); Не вводит вторую строку. http://www.cyberforum.ru/cpp-beginners/thread1727076.html
Экспортирование inline-функций в MinGW компиляторе C++
Здравствуйте. Как заставить MinGW компилятор (в моем случае MinGW 4.9.2 x32) экспортировать inline-функции и функции-члены классов в библиотеку? Он попросту их пропускает. В случае MSVC - все...
C++ Задачу создать 2-мя способами:1) передавать результат работы подпрограммы через результат, возвращаемый функци
Здравствуйте, дорогие форумчане! Будьте добры, помогите не совсем опытному юзеру разобраться с небольшим непониманием : дано условие (см. ниже) нужно решить именно этими методами, честно, не совсем...
C++ Вложенные циклы http://www.cyberforum.ru/cpp-beginners/thread1727016.html
Есть два цикла, один вложенный. for(int i=0; i<N;i++) { for(int j=0; j<M;j++) { A=... } }
C++ Записи.Расписание поездов Известно расписание поездов, проходящих через станцию: номер поезда, назначение (откуда — куда, например, «Москва — Омск»), часы и минуты прибытия, часы и минуты отправления. Значения часов и минут... подробнее

Показать сообщение отдельно
SHAREN
0 / 0 / 0
Регистрация: 03.05.2016
Сообщений: 13
11.05.2016, 19:16  [ТС]
Честно сказать я просто вставил готовый код.
Оказывается BASS_ChannelGetData берет массив значений в 1 момент времени, а в массив записываются данный начиная с низких частот заканчивая высокими (как в эквалайзере).
А чтобы взять громкость из другого момента времени нужно в цикле менять позиции:
C++
1
2
3
4
        long byte_pos = BASS_ChannelSeconds2Bytes(chan, time);
        BASS_ChannelSetPosition(chan, byte_pos, BASS_POS_BYTE);
        ...
        time += 1 / fps;   //increment time
В общем в самом исходном коде можно прописать
C++
1
2
3
4
char *output_name = "OUTPUT.txt";       // куда запишутся все значения
char *input_name = "INPUT.mp3";             // из какого файла брать значения
double fps = 60;                        // сколько раз в сек. брать спектр
int BANDS = 120;                        // ширина спектра
P.S. а BASS_ERROR_NOPLAY было из-за того что я bass.dll рядом с *.ехе не закинул.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru