2011-02-03 6 views
5

Android 용으로 개발하기 시작했으며 Eclipse와 Android 플러그인 및 Android SDK를 사용하고 있습니다.Eclipse에서 실행 한 Android SDK 에뮬레이터의 오디오가 들리지 않습니다.

내가하는 일과 관계없이 에뮬레이터에서 소리를 내지 못합니다.

가상 장치 설정에서 오디오를 켜 봅니다.

  • -audio oss가 ====이 정의 된 OSS 백엔드가 없다는 오류 메시지를 가져옵니다

    또한 같은 실행 구성에서 다양한 명령 줄을 시도했습니다.

  • -useaudio ===는
  • -audion -winaudio ===이/오류 O하지만 여전히 사운드가

내 노트북에 내 Windows7의 오디오 컨트롤러를 열면, 내가 볼 w를 시작하는 유효한 옵션을로하지 온다 안드로이드 가상 머신 자체 볼륨 슬라이더를 가져옵니다,하지만 그 오디오 슬라이더를 이동하거나 클릭하면 아무 소리도. (다른 볼륨 슬라이더는 정상적인 삐 소리를냅니다.)

나는 몇 시간 동안 "안드로이드 에뮬레이터 소리가 들리지 않음"을 찾고 있었지만 운이 없었습니다.

아이디어가 있으십니까?

답변

2

에뮬레이터에서 소리가 나지 않는 문제 (내 장치에서 작동하지 않는 것으로 확인 됨)가 아니라 SoundPool 클래스의 문제가 아닙니다.

나는 logcat을보고 "sample 1 not ready"와 같은 참조를 찾았습니다. 이것을 조사한 결과 사운드 풀이 사용될 준비가되기 전에 (그리고 모든 사운드가 사용되기 전에 사운드가 잘로드되어야 함) 시간이 걸리는 것으로 알려진 난해한 실이 마침내 발견되었습니다.

내 playSound 메서드를 수정하여 soundPool.play (...) 메서드 호출의 반환 값을 모니터링했습니다. 실행중인 사운드 스트림의 ID를 반환합니다. 실패하면 0을 반환합니다 (예 : "샘플 1 준비되지 않음"). 내가 무슨 짓을

루프에 넣어이고, soundPool.play (...) 메소드 호출의 반환 값이 0 일 때, 나는 1 밀리 세컨드의 스레드 잠을 한 후 다시 시도하십시오. 이 방법을 사용하면 항상 지금은 소리가납니다.

보조 노트로 Android 2.2가 내 장치 인 Sprint LG optimus S LS670에 설치되어 있기 때문에 보조 SDK 대신 자습서를 Android 2.3.1 대신 Android 2.2 용으로 설정했습니다.

Android 2.2 및 Android 2.3.1 가상 장치에서 수정 코드를 실행했습니다.

오래된 안드로이드 2.2 VD에서 코드를 실행할 때 사운드를 재생할 준비가되기 전에 일반적으로 약 10-15 개의 지연 (10-15 ms 지연)이 필요했습니다.

Android 2.3.1 VD에서 동일한 코드를 실행했을 때 지연 시간이 훨씬 더 짧아서 재생하기 전에 350 밀리 초의 지연이있었습니다. 예는 거의 35 배 더 느립니다!

Android 2.2를 실행하는 기기로 동일한 코드를 실행했을 때 시간 지연은 에뮬레이터에서 실행되는 것과 거의 동일했습니다.

+0

어떻게 작동 시키셨습니까? SoundPool이란 무엇입니까? 내 프로그램은이 클래스를 사용하지 않지만 동일한 문제, 즉 에뮬레이터가 사운드를 재생하지 못하는 문제가 여전히 남아 있습니다. 내 시도는 여기를 참조하십시오 : http://stackoverflow.com/questions/18143032/can-the-android-emulator-play-audio – user13267

+0

작동하는 샘플 코드가 있습니까? 어느 날 이클립스에 붙여 넣을 수 있고 에뮬레이터를 통해 사운드를 재생할 수 있습니까? 다른 작업을 수행하기 전에 에뮬레이터가 전혀 소리를 내지 못하도록하고 싶습니다. 실제 안드로이드 장치를 얻으면 소리를 낼 수 있는지 확인해야합니다. – user13267

관련 문제