Требование
Android открывает файл .wav на SD-карте, воспроизводит его, добавляет некоторые эффекты (например, эхо, сдвиг высоты тона и т. д.), сохраняет файл с эффектом. Простой :(
Что я знаю
- Я могу открыть и воспроизвести файл с помощью Soundpool или MediaPlayer.
- Я могу дать некоторый эффект, играя, используя оба. т.е. для Media Player я могу установить эффект реверберации окружающей среды. Используя SoundPool, я могу установить скорость воспроизведения, что-то вроде смещения высоты тона. Я успешно реализую их прямо сейчас.
- Но ни один из этих классов не имеет никакого метода для сохранения воспроизводимого файла. Так что я могу только играть, я не могу сохранить музыку с эффектом.
Что я хочу знать
- Есть ли какие-либо другие интересующие классы, кроме MediaPlayer или SoundPool. Не думайте о сохранении, вы просто упомяните класс, я проведу исследование о сохранении файла с ними.
- Любые сторонние библиотеки, где я могу добавить эффекты и сохранить? Рад, если это с открытым исходным кодом и бесплатно. Но упоминайте их, даже если это собственность.
- Любые другие области, где я могу изучить. Поддерживает ли OpenAL голосовую фильтрацию вместе с голосовым позиционированием? Будет ли он работать с Android?
Готов делать грязную работу. Пожалуйста, одолжите мне путь ..
РЕДАКТИРОВАТЬ:
Did some more searching, and come across AudioTrack. But it also won't support saving to a file. So no luck there also..РЕДАКТИРОВАТЬ
Ok, what if I do it myself? Get raw bytes from a wav file, and work on that. I recorded a wav file using AudioRecord, got a wav file. Is there any resource describing low level audio processing (I mean at the bytes level).РЕДАКТИРОВАТЬ
Well bounty time is up, and I am giving bounty to the only answer that I got. After 7 days, what I understood is- Мы не можем сохранить то, что играем, используя MediaPlayer, AudioTrack и т. д.
- Нет доступных для использования библиотек обработки звука.
- Вы можете получить необработанные файлы wav и самостоятельно обработать звук. Ответ дал хороший класс-оболочку для чтения/записи wav-файлов. Хороший Java-код для чтения и изменения высоты тона файлов wav находится здесь .