2017-02-16 6 views
2

Android에서 USB를 통해 오디오 입력을 캡처하는 방법에 대해 궁금해하고 있습니다.Android에서 USB를 통한 오디오 입력

내 시나리오는 외부 하드웨어를 통해 오디오를 수신하고 수신 한 오디오를 Android 앱을 통해 재생하는 것입니다. 이 전송은 USB를 통해 이루어집니다.

Android SDK/Android NDK를 사용하여이를 수행 할 수있는 방법이 있습니까?

어떤 제안이라도 도움이 될 것입니다.

작업은Right by time I am able to interact with Hardware using CDC class and also able to play some random noisy audio through USB in my app. Neither I am able to get clear sound by that approach, nor there is consistency within the transmission of audio.

감사를 완료.

감사합니다. Vivek

+0

사용중인 외부 하드웨어는 무엇입니까? USB 헤드셋 또는 다른 오디오 장치입니까? 또는 자신의 하드웨어입니까? 후자의 경우 USB 칩/SW는 무엇에 사용됩니까? 귀하의 질문은 USB에 대한 귀하의 이해 수준을 드러내지 않으므로 답은 귀하가하고있는 일에 부합 하는지를 확인하기 위해 알아 두어야합니다. – diidu

+0

내 안드로이드 응용 프로그램을 통해 FM 라디오 오디오를 얻으려고합니다. 여기 FM 라디오는 안드로이드 장치의 USB 포트에 부착 될 칩입니다. 자세한 내용은 다음을 참조하십시오. https://play.google.com/store/apps/details?id=kr.co.tvongo.tivizen.darshantvongodvbt2dongle&hl=ko – AndroidHacker

+0

Ok. 사용자가 직접 USB 동글을 구현하지 않고 기존 HW (예 : https://www.adafruit.com/product/1497)를 사용하는 경우 장치에 포함 된 USB 클래스를 확인하고 구현하는 것이 중요합니다. 사용) 드라이버. 동글에 대한 정보를 찾는 한 가지 방법은 Windows PC에 플러그를 꽂아 사용하는 것입니다. this : http://www.nirsoft.net/utils/usb_devices_view.html 또는 https://msdn.microsoft.com/en-us/library/windows/hardware/ff560019(v=vs.85).aspx 구현하는 장치 클래스를 검색합니다. 대부분 오디오 클래스가 있습니다. – diidu

답변

2

대부분의 최신 Android 기기는 USB 호스트로 작동 할 수 있습니다. 예를 들어 오디오 캡처 용 USB 마이크. 안드로이드는 또한 usb_audio 클래스를 지원합니다. 이를 사용하여 장치의 오디오에 액세스하십시오.

이미 통신 장치 클래스 (CDC)를 실험 했으므로 Android의 USB 호스트 기능을 알고 있습니다. 이제 주변 기기가 USB 오디오 클래스 (오디오 소스 파트)를 구현하고 오디오 클래스를 사용하여 오디오를 얻도록 앱을 만들 필요가 있습니다. 이것은 꽤 잘 here, 그래서이 게시물에 모든 정보를 복사하는 의미가되지 않습니다 설명했다. 이미 오디오 수업을 사용중인 경우 해당 페이지에서 보유하고있는 일부 문제 (예 : 잘못된 형식 사용)에 대해 설명 할 수 있습니다.

USB 오디오 클래스 사양은 USB.org website에 있습니다. 문제는 Audio 클래스가 꽤 크고 Android가 모든 것을 지원하지 않는다는 것입니다.

+0

되돌아와 주셔서 감사합니다. 내가 CDC 프로파일 자체를 통해 오디오 데이터를 전송할 때까지. JAVA를 사용하여 USB Audio 클래스를 사용할 수 있는지 궁금하거나, 기본 NDK/C++ 코드를 사용하여 해당 파트를 코딩해야합니다.USB Audio 클래스 부분에서 나를 도울 수 있다면 좋을 것입니다. – AndroidHacker

+1

USB Audio로 작업 한 마지막 작품은 Symbian과 함께 사용 되었기 때문에 모든 Android 관련 세부 정보를 쉽게 도울 수는 없습니다. CDC에서도 오디오를 전송할 수는 있지만 품질은 좋지 않으므로 오디오를 USB 프레임에 올바르게 패키징하는 방법을 찾아야합니다. Audio 클래스에서 사용되는 등시성 끝점은 고 대역폭 스트리밍을 위해 설계되었으므로 훨씬 좋습니다. 내가 아는대로, USB 오디오 클래스 (USB 마이크를 사용할 수 있음)의 관련 부분을 이미 지원하는 안드로이드 장치가 있다면, 더 많은 제어와 고품질이 필요하지 않는 한 자바 수준에서 작업 할 수 있습니다. – diidu

+0

되돌아와 주셔서 다시 한번 감사드립니다. 당신의 모든 제안과 함께 갈 것입니다. 희망을 가지고 그 문제를 해결하십시오. – AndroidHacker

관련 문제