Krótka wersja: Jaki jest najlepszy sposób na zakodowanie danych w formacie MP3 (najlepiej w formacie AAC/Ogg/WMA ) do tablicy Javy lub ByteBuffer czy mogę wtedy manipulować ?Dekodowanie zakodowanych danych dźwiękowych (MP3, itp.) Na Androidzie bez grania
Łączę program, który spowalnia i przyspiesza działanie plików dźwiękowych jako jednej z jego funkcji. Działa to dobrze dla plików WAV, , które są nagłówkiem oraz dokładnymi danymi binarnymi, które muszą być wysłane do głośnika , a teraz muszę zaimplementować go dla MP3 (najlepiej, jeśli ten obsługuje również AAC, Ogg i WMA , ale ponieważ są to mniej popularne formaty, nie jest to wymagane). Android nie odsłania interfejsu do dekodowania pliku MP3 bez odtwarzania go, więc muszę utworzyć ten interfejs .
trzy opcje przedstawiają się, choć jestem otwarty na innych:
1) Napisz własną dekodera. Mam już funkcjonalny wykrywacz ramek , który miałem nadzieję użyć dla opcji (3), a teraz powinien tylko trzeba wdrożyć tabele dekodowania Huffmana.
2) Użyj JLayer lub równoważnej biblioteki Java, aby obsłużyć dekodowanie . Nie do końca wiadomo, jakie są konsekwencje licencji .
3) Połącz się z biblioteką libmedia/MediaPlayerService. To właśnie robi SoundPool, a użycie tej usługi sprawia, że wierzę, że podczas oficjalnej niestabilności implementacja ta nie będzie działać w żadnym miejscu. Oznacza to zapisanie kodu JNI, aby połączyć się z usługą, ale Stwierdzam, że jest to głęboka dziura od królika. Na powierzchni jestem , mający problem z szablonem sp <.
Powodzenia z tym problemem? – twk
Czy udało Ci się odszyfrować dane audio? Jeśli tak, jak to zrobiłeś? –