짧은 버전 : MP3 (이상적으로는 AAC/Ogg/WMA)로 인코딩 된 데이터를 자바 배열 또는 ByteBuffer로 가져 오는 가장 좋은 방법은 무엇입니까? 그러면 나는 을 조작 할 수 있습니까?안드로이드에서 인코딩 된 오디오 데이터 (MP3 등)를 재생하지 않고
나는 느려지고 사운드 파일의 기능 중 하나로서 속도가 느린 프로그램을 함께 모으고있어. 이것은 WAV 파일에 대해 잘 작동하는데 스피커와 스피커로 보내야하는 정확한 이진 데이터입니다. 이제는 MP3 용으로 구현해야합니다 (이상적으로이 도 AAC, Ogg 및 WMA를 지원합니다). , 그 이후 덜 인기가있다 형식이 필요하지 않습니다). 안드로이드는 인터페이스를 공개하지 않고 MP3를 해독하지 않고 디코드하므로, 인터페이스를 생성해야합니다.
1) 내 자신의 디코더를 쓰기 : 내가 다른 사람에게 열려있어 비록
세 가지 옵션, 자신을 제시한다. 나는 옵션 (3)에 사용하기를 원했던 기능 프레임 검출기 을 가지고 있으며 이제는 허프만 디코딩 테이블을 구현할 때 만 사용해야합니다.
2) 디코딩을 처리하려면 JLayer 또는 이와 동등한 Java 라이브러리를 사용하십시오. 라이선스 파급 효과가 인 이유에 대해서는 명확하지 않습니다.
3) libmedia 라이브러리/MediaPlayerService에 연결하십시오. 이것은 SoundPool이하는 일이며, 그 서비스의 사용량에 따라 은 공식적으로 불안정한 반면 구현은 이 아닙니다. 이것은 서비스에 연결하기 위해 JNI 코드를 작성하는 것을 의미하지만, 나는 그것이 깊은 토끼 구멍이라는 것을 알게되었다. 표면적으로 나는 sp < 템플릿에 문제가 있습니다.
이 문제가있는 행운? – twk
오디오 데이터를 성공적으로 해독 했습니까? 그렇다면 어떻게하셨습니까? –