마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

시스템 사운드 버퍼에 접근할 방법 없을까요?

0 추천
스마트폰에서 현재 재생중인 사운드 데이터를 얻고 싶습니다. (현재 스피커든 이어폰이든 출력되고 있는 사운드)

즉, OS가 재생하고 있는 사운드 데이터를 얻고 싶은데 방법이 없을까요?

몇시간 찾아보니 각 앱들이 audioflinger라는 서비스로 출력할 사운드 데이터를 쏴주면 이놈이 모아서 출력 디바이스로

전달하는 것 같은데, audioflinger의 버퍼에 접근할 수 있는 방법 없을까요??

아니면 다른 방법으로라도 출력 디바이스에 전달되는 사운드 데이터를 얻을 수 있는 방법 없을까요?
들푸름 (120 포인트) 님이 2014년 8월 8일 질문

1개의 답변

0 추천
일부 단말의 경우 특정 통신사 향 어플에서 사용가능하도록  hidden api를 별도로 제공하긴 하지만.

일반적으로는 권한 문제로 구하는게 불가능한 것으로 알고 있습니다.
사악미소 (65,330 포인트) 님이 2014년 8월 8일 답변
답변 감사합니다. 그러면 원천적으로 OS에서 재생하고 있는
소리를 캡쳐하는 것은 불가능하고 구현된 사례도 없겠지요?
몇시간 찾아봐도 안나오긴 하더라구요 ㅎㅎ
재생되는 소리야 마이크로 녹음해 PCM을 구할 순 있습니다. 단지 잡음 제거를 하거나 볼륨을 낮췄을 때 처리가 이슈가 되긴하지만요..

실제 구현 사례야 말씀 드렸듯이
일부 단말의 경우 별도 hidden api를 탑재해서. 미러링이나 무선스피커를 지원하는 어플을 제공하는 경우가 있습니다.
아! 그러고 보니 그러네요!
mini boom 같은 블루투스 무선 스피커의 경우 폰에서 재생되고 있는 소리(유투브, 뮤직 스트리밍 서비스, 인터넷 플레시 등등)는 전부 스피커에서 나던데! 그 연결 시키는 앱에서는 사용했겠네요!

아.. 정말 어떻게 구현했을지 궁금하네요
...