Может ли эмулятор Android записывать и воспроизводить звук с помощью ПК? - PullRequest
10 голосов
/ 10 марта 2011

У меня нет телефона Android, но я все равно пытаюсь его разработать.Единственный способ проверить мое приложение на данный момент - использовать эмулятор, который, как я читал, не поддерживает аудиозапись.Тем не менее, я читал о команде запуска «-audio», которая позволяет вводить / выводить звук с вашего компьютера с помощью бэкэнда «winaudio»Я не смог заставить его работать, хотя, возможно ли сделать запись, используя микрофон моего компьютера?Если так, что я делаю не так?

Ответы [ 3 ]

7 голосов
/ 07 августа 2011

Запись звука возможна как минимум в стандартном эмуляторе 2.3.3 на Windows 7;Я попробовал это, и это работает.Тем не менее, записанный звук действительно звучал немного странно (медленно) в моем случае.Я не исследовал причину.

Вам необходимо добавить поддержку эмуляции записи звука + воспроизведения (Android SDK и менеджер AVD -> Виртуальные устройства -> Правка -> Оборудование -> Новое).Затем используйте [MediaRecorder API] [1] для записи (MediaRecorder.AudioSource.MIC).

Код:

fMediaRecorder= new MediaRecorder();
fMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
fMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
fMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

fMediaRecorder.setAudioChannels(1);
fMediaRecorder.setAudioSamplingRate(8000);

fMediaRecorder.setOutputFile(fTmpFile.getAbsolutePath());

fMediaRecorder.prepare();

fMediaRecorder.start();

Вам также необходимо

<uses-permission android:name="android.permission.RECORD_AUDIO"/> 

у тебя AndroidManifest.xml

у меня работает, но аудио искажено.

2 голосов
/ 08 января 2016

Нет.Невозможно использовать эмулятор для записи звука.Вам нужно будет кодировать логику вашей программы, а затем развернуть актуальный apk на свой телефон, чтобы проверить его функциональность.

Пожалуйста, проверьте эту ссылку, так как она имеет официальную ссылку для моего комментария: http://developer.android.com/intl/es/guide/topics/media/audio-capture.html

2 голосов
/ 10 марта 2011

В меру моих знаний: чтобы иметь возможность использовать MediaRecorder, вам нужно собрать весь источник, чтобы вы могли использовать средство записи вместе с опцией, которую вы упомянули.

  • Получите исходный код версии Android, на которую вы нацелены.
  • Создайте общее изображение с помощью:
    1. . build/envsetup.sh
    2. lunch 1(т.е. выберите общий вариант, а не симулятор)
    3. make -j<number>, где number = # ядер, поддерживаемых вашим компьютером;исключить угловые скобки
  • cd out/target/.../generic, ... представляет остаток пути до общего;установите переменную среды ANDROID_PRODUCTION_OUT в этот каталог.
  • запустите эмулятор из каталога out / host /.../ bin с параметром -audio.

В идеале это должно работать.

SDK по умолчанию не поддерживает ваш вариант использования, как вы правильно упомянули здесь.

...