녹음 된 사운드를 전화기의 스피커로 전달하고 싶지만 기록 코드가 작동하지 않습니다 (앱이 손상됨, SEE MY ATTEMPT HERE). 이제 에뮬레이터가 작동하는지 확인하려고합니다. 오디오와 관련된 모든 일을 할 수 있습니다. wav (16 비트 pcm, 44k 샘플링 주파수, 모노)와 mp3 (Audacity를 통해 녹음 및 변환 모두)에서 1 초 녹음을 sdcard로 복사했습니다. IDE의 파일 탐색기에서 파일을 볼 수 있으므로 에뮬레이터에서 sdcard가 제대로 감지되고있는 것 같습니다. 하지만 필자는 에뮬레이터에 내장 된 뮤직 플레이어로 그들을 탐지하지 못했습니다 (왜?).안드로이드 에뮬레이터에서 오디오를 재생할 수 있습니다.
두 번째 시도로 코드 HERE을 샘플 hello world Android 앱에 복사했습니다. 다음은 주요 활동 클래스입니다.
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// String PATH_TO_FILE = "/sdcard/asMP3.mp3";
// String PATH_TO_FILE = Environment.getExternalStorageDirectory().getPath()+"/asMP3.mp3";
String PATH_TO_FILE = Environment.getExternalStorageDirectory().getPath()+"/wavSigned16bitPCM.wav";
MediaPlayer mp1 = new MediaPlayer();
try
{
mp1.setDataSource(PATH_TO_FILE);
mp1.prepare();
mp1.start();
Toast.makeText(getApplicationContext(), "HERE", Toast.LENGTH_SHORT).show();
}
catch (IllegalArgumentException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IllegalStateException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
앱 시작과 동시에 사운드 재생이 시작된다고 가정했습니다. Toast
이 나타나서 코드가 실행 중임을 알고 있습니다. 프로그램이 충돌하지 않지만이 경우에는 아무 소리도 들리지 않습니다. (이유는 무엇입니까?)
세번째 시도로 코드 HERE을 사용하여 재생하려고하는 파일을 res\raw
에 추가했습니다. . 이 프로그램도 충돌하지 않지만 여전히 아무 것도들을 수 없습니다.
에뮬레이터에서 오디오와 관련된 모든 작업을 수행 할 수 있습니까? THIS QUESTION을 보면 이것이 가능해야하는 것처럼 보입니다. 그럼 내 프로그램에서 왜 그렇게되지 않습니까? 오디오 출력을 위해 그가 명시한 모든 권한을 설정해야합니까?
---- 편집 은 암탉이
나는 또한 THIS를 봐 왔지만, 나는 -useaudio
옵션을 사용하는 경우 에뮬레이터 그냥 -useaudio
알 수없는 옵션이다라고하고, emulator -help
가 표시되지 않습니다
--- UPDATE ---
에뮬레이터 스냅 샷을 사용하기 시작 한 경우 오디오 기능이 작동하지 않는 것 같다. 그렇지 않은 경우 컴퓨터에 따라 오디오 기능이 여전히 작동하거나 작동하지 않을 수 있습니다. 참조하십시오 HERE
https://developer.android.com/guide/topics/media/audio-capture.html에 "Android 에뮬레이터에는 오디오 캡처 기능이 없지만 실제 장치는 이러한 기능을 제공 할 가능성이 있습니다. " – droidballoon
예 에뮬레이터 자체에는 오디오 캡처 기능이 없지만 호스트 PC에 마이크가 설치되어 있으면 오디오를 캡처 할 수 있습니다. 참고 : [나는 이것을 시도하지는 않았지만 시도해 볼 수 있습니다.] (http://stackoverflow.com/questions/5254994/can-the-android-emulator-record-and-play-back-audio-using) -pc-hardware) –