|
|
|||||
Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
|
запись звуков без микрофона
Здравствуйте.
возникла проблема. пытаюсь записать в 1 трек несколько играющих треков. пытаюсь это сделать через SoundMixer.computeSpectrum но записывается только шум. логика такая SoundMixer.computeSpectrum(spectrum);//извлекаем байты звуков в реальном времени ... //после разбираем spectrum while(spectrum.bytesAvailable > 0) { bts.writeFloat(spectrum.readFloat()); bts.writeFloat(spectrum.readFloat()); } ... ///полеченные данные записываем rec.writeBytes(bts); я явно что-то не так делаю. кто подскажет что именно. и есть ли возможность вообще записать звуки без микрофона в реальном времени? причем не 1 конкретного трека, а многих треков играющих единовременно. |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
SoundMixer.computeSpectrum вычисляет спектр играющего в данный момент звука/ов.Чтоб из этого получить назад звук нужно произвести back fourier transform(обратное преобразование Фурье) как-то так называется.
Добавлено через 3 минуты но это все гиблое дело, т.к. SoundMixer.computeSpectrum возвращает мгновенный спектр.По хорошему его надо считывать непрерывно и непрерывно же декодировать. Добавлено через 11 минут правильнее было бы получить доступ к ByteArray'ям играющих звуков и складывать их с некими весами. Последний раз редактировалось undefined; 13.02.2016 в 21:36. |
|
|||||
Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
|
вопрос 1
Цитата:
вопрос 2 Цитата:
у меня есть данные полученные через extract по каждому играющему звуку.но как их вообще склеить в 1? |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
Цитата:
Цитата:
ПС: естественно всю арифметику проводить в типе Number и в конце только приводить его к uint. |
|
|||||
Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
|
спасибо. я попробую по вашему совету и отпишусь получилось ли
Добавлено через 55 часов 7 минут к сожалению пока не получилось. будем искать выход |
Часовой пояс GMT +4, время: 15:52. |
|
« Предыдущая тема | Следующая тема » |
|
|