Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Мультимедиа
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.03.2012, 19:09
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию BASS_ChannelGetData

BASS_ChannelGetData Выдает массив сразу для двух каналов? Можно как-то по отдельности получить левый и правый?
Ответить с цитированием
  #2  
Старый 28.03.2012, 20:57
Аватар для cotseec
cotseec cotseec вне форума
Активный
 
Регистрация: 16.07.2008
Сообщения: 353
Версия Delphi: D7,TDE06,RAD09
Репутация: 1443
По умолчанию

судя по этому если комбинировать с флагом BASS_DATA_FFT_INDIVIDUAL, то что-то можно получить...
Ответить с цитированием
  #3  
Старый 28.03.2012, 21:08
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Что-то не получилось, делал так:
BASS_DATA_FFT256 or BASS_DATA_FFT_INDIVIDUAL, массив заполняется, но данные какие-то странные, вначале массива что-то правдивое, с середини что-то непонятное.
Как я понял из описания, в одном массиве должна быть половина на левый канал, половина на правый. но что-то блин не то получается.

Последний раз редактировалось M.A.D.M.A.N., 28.03.2012 в 21:33.
Ответить с цитированием
  #4  
Старый 28.03.2012, 21:33
Аватар для cotseec
cotseec cotseec вне форума
Активный
 
Регистрация: 16.07.2008
Сообщения: 353
Версия Delphi: D7,TDE06,RAD09
Репутация: 1443
По умолчанию

Цитата:
Perform a separate FFT for each channel, rather than a single combined FFT. The size of the data returned (as listed above) is multiplied by the number of channels.

Размер возвращаемых данных (как указано выше) умножается на количество каналов. Что сие означает, для меня загадка (с бассом игрался, но не до такой "глубины"), кроме этого
Ответить с цитированием
  #5  
Старый 28.03.2012, 21:54
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Надеюсь он их не слепляет друг за другом. Чет - один канад, нечет - другой.
Ответить с цитированием
  #6  
Старый 28.03.2012, 22:04
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Моя догадка подтвердилась Проверил на треке с переходом уровней с канала на канал.
cotseec, лови плюс в репу за помощь
Ответить с цитированием
  #7  
Старый 28.03.2012, 22:12
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Как я понимаю лучше сделать приёмный буфер двойным:
Код:
var
  buffer : array[0..128][0..1] of Single
тогда при запросе?
Код:
  BASS_ChannelGetData(Channel, Buffer, BASS_DATA_FFT256 or BASS_DATA_FFT_INDIVIDUAL)
каждый канал будет доступен отдельно.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #8  
Старый 29.03.2012, 07:38
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Всем спасибо
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:12.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter