Как захватить удаленный микрофон телевизора на ОС Android TV?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как захватить удаленный микрофон телевизора на ОС Android TV?

Сообщение Anonymous »

Я пытаюсь использовать Watson Speech to Text API в своем приложении Android на телевизоре. Я попробовал это на эмуляторе телевизора, и после включения микрофона на виртуальном пульте приложение заработало как надо. Но когда я пробую приложение на реальном оборудовании, оно вообще не записывает мою речь.
Поэтому я добавил фрагмент кода, найденный в проверенном ответе на вопрос «Как проверить, Микрофон Android доступен для использования?". Затем я добавил код в функцию onKeyDown() моего класса расширения GLSurfaceView, чтобы проверить, нажата ли центральная клавиша клавиатуры. В этом случае приложение проверяет, есть ли на устройстве микрофон, а затем отображает соответствующее сообщение в зависимости от доступности микрофона.
листинг кода 1: проверка наличия микрофона
public class OpenGLView extends GLSurfaceView
{

//constructors and other member functions here

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
switch(keyCode)
{
case KeyEvent.KEYCODE_DPAD_CENTER:
if(getMicrophoneAvailable(ctx))
{
Toast.makeText(Display.getInstance().getContext(), "Microphone available!", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(Display.getInstance().getContext(), "Microphone not available!", Toast.LENGTH_SHORT).show();
}
}

return super.onKeyDown(keyCode, event);
}
}

Я попробовал модифицированное приложение на эмуляторе с включенным микрофоном и без него. тост «Микрофон доступен!» единственный, кто показывает. То же самое, когда я пытаюсь использовать свое устройство Android TV. Либо код, который я получил из раздела «Как проверить, доступен ли микрофон Android для использования?» не работает должным образом, или наличие и активация микрофона на Android TV отличаются. Я надеюсь на позднее. Вот почему я здесь.
Мне интересно, как включить микрофон программно. И я думаю, что это можно сделать, потому что можно включить меню голосового помощника в верхнем левом углу телевизора, нажав центральную кнопку DPAD.
Изображение

На устройстве Android TV, которое я использую, нет микрофона, но микрофон находится на пульте дистанционного управления, как показано на рисунке ниже (отверстие для микрофона в верхнем левом углу):
[img]https://i. stack.imgur.com/xhuYF.jpg[/img]

Также обратите внимание, что я загружаю микрофон для записи таким образом.
листинг кода 3: загрузка и запуск микрофона
MediaRecorder mediaRecorder = new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mediaRecorder.setOutputFile("file.3gp");

mediaRecorder.prepare();
mediaRecorder.start();


Подробнее здесь: https://stackoverflow.com/questions/726 ... roid-tv-os
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»