2013-01-21 4 views
3

현재 Android 4.0 이상을 발견하고 있으며 스스로 해결할 수없는 몇 가지 질문이 있습니다. 어쩌면 도움이 될지도 모릅니다.맞춤형 Android의 libaudio.so 또는 "Android에서 오디오가 어떻게 작동합니까?"

"AlsaMixer"또는 "ALSA가있는 MixGet"과 같은 일부 시장 응용 프로그램은 "libaudio.so"라는 라이브러리를 "/ system/lib /"에 넣습니다 (사용자 지원).

나는 무슨 일이 일어나고 있는지 잠시 살펴본 후 모든 안드로이드 회사가 특정 C++ 인터페이스를 구현 한 libaudio.so를 만들 수 있다고 생각합니다.

그렇다면 Android는 오디오 처리를 위해이 라이브러리를 사용합니다 (ALSA, TinyALSA 및 기타 용 구현이 있음)?

하지만 : 내 휴대 전화에는 libaudio.so가 없습니다. 어떻게 작동합니까? 달리 취해지는 것은 무엇입니까? 그 디렉토리에 "libasound.so"가 있다는 것을 알았습니다. 기본값입니까?

내가 지금 내 작은 지식으로 내 자신의 libaudio.so를 구현하려고한다면 "기본"라이브러리를 참조 할 수 있습니까?

나는 "이봐, 세상의 모든 휴대 전화에서 작동하는 오디오 구현이 존재 난 그냥 바퀴를 다시 엔지니어 (재 구성을)를 확장하지 싶어?"생각

I 의미 :

AudioFlinger을 -> libaudio.so 내 사용자 지정 -> 기본 라이브러리 (? libasound.so) -> 스피커

그리고 무슨 일이 이미 m에 libaudio.so가있는 경우 전화?

나는 모든 도움이되는 대답에 대해 정말로 감사 할 것입니다. 어쩌면 누군가 초보자가 이해할 수있는 주소를 가지고 있을까요?

미리 감사드립니다. & 친절하게 생각합니다!

+0

죄송합니다. 전체 Android 시스템에서 콜백을 사용하고 AudioFlinger의 컨텍스트에서 오디오 라이브러리와 내부적으로 상호 작용하기 때문에 사용자 정의 라이브러리를 활용하려면 자신의 ROM을 롤업해야합니다. – t0mm13b

+0

"AlsaMixer"가 /system/lib/libaudio.so와 alsa-config-file을 설치하는 시장에서 일하는 것입니다. (영구적으로 재부팅하지 않아도 작동합니다.) 나는 뿌리깊은 장치를 가지고 있습니다. - 그 점이 뿌리깊은 장치에 대한 라이브러리를 만들고 싶다고 가정 해 봅시다. 그 AlsaMixer-app 때문에 맞춤 ROM이없는 방법이 있어야합니다. –

+0

[AlsaMixer] (https://play.google.com/store/apps/details?id=com.skvalex.alsamixer&hl=en)가 작동하려면 ** ROOT & BUSYBOX REQUIRED가 필요합니다. ** 대문자 ! 그것이 그 일을 할 수 있었던 방법입니다! 의미있는 핸드셋이 뿌리를 내려야합니다. 플레이 스토어에서 주목 받았는데 제한된 기기에서만 (btw 기기는 무엇입니까?), 일부는 alsa (특히 CM)에 컴파일되어 아마도 그것을 악용합니다. – t0mm13b

답변

1

이제 좋은 설명이 포함 된 이해할만한 그래픽을 발견했습니다. 예 : 오디오는 안드로이드를 통해 라우팅 :

Android Services Black Magic - Marakana (페이지 + 11 10)

그러나 libaudio.so와 잘못된 길을가는 저를 방지하는 사람들 t0mm13b하는 많은 감사합니다.