2014-02-05 1 views
4

Я пробовал образец собственного аудио-кода в андроиде NDK. Когда я пытаюсь записать какую-то речь, а затем воспроизвести ее, она отлично работает. Он использует основной громкоговоритель (громкоговоритель) для воспроизведения речи. Я хочу изменить код, чтобы речь воспроизводилась в динамике уха вместо основного громкоговорителя. Любая помощь?Как настроить OpenSL для работы с динамиком уха, отличным от основного громкоговорителя или наушников

ответ

6

Я решил проблему, и я нашел группу, связанную с Google. Это было действительно полезно. Вот ссылка: https://groups.google.com/forum/#!topic/android-ndk/O-hufEm20cU

Я протестировал его в примере с родным аудио, предоставленным с помощью андроида NDK. Сначала вы должны установить интерфейс конфигурации Android, а затем установить тип потока в STREAM_VOICE после создания аудиоплеера.

// Code for working with ear speaker by setting stream type to STREAM_VOICE 
SLAndroidConfigurationItf playerConfig; 
result = (*bqPlayerObject)->GetInterface(bqPlayerObject, SL_IID_ANDROIDCONFIGURATION, &playerConfig); 
SLint32 streamType = SL_ANDROID_STREAM_VOICE; 
result = (*playerConfig)->SetConfiguration(playerConfig, SL_ANDROID_KEY_STREAM_TYPE, &streamType, sizeof(SLint32)); 
+0

Спасибо, что поделились своими комментариями. Но поскольку я использовал ваш код после создания игрока, я потерпел аварию. Пожалуйста, предложите, как установить streamtype с помощью OpenSL-плеера. Я хочу использовать плеер Uri. –

+0

Посмотрите на этот вопрос, пожалуйста. Это может вам помочь. http://stackoverflow.com/questions/24758121/buffering-uri-on-opensl-android Взгляните на документацию OpenSL ES. Для воспроизведения аудиоданных игроку Uri может понадобиться другой тип потока. –

+0

Спасибо за ваш ответ. Я забыл добавить интерфейсный интерфейсный массив, используемый в аудиоплеере. Теперь я могу интегрировать SL_IID_ANDROIDCONFIGURATION в openSL, добавив его в требуемый массив интерфейсов. Как и звук SL_ANDROID_STREAM_VOICE по-прежнему поступает из заднего динамика. Что делать, если я хочу включить звук из фронтального центрального динамика –

 Смежные вопросы

  • Нет связанных вопросов^_^