Поскольку приложение одно и то же, то, если разрешение на доступ к микрофону дано пользователем, можно получить с него данные.Есть задача после запуска стрима получить доступ к микрофону и брать с него данные для другого сдк внутри приложения. Возможно ли это сделать с включенным микрофоном на стриме и если нет, то возможно ли если микрофон на стриме выключить?
Не совсем, мы хотим начать стрим со звуком, но если пользователь хочет включить субтитры, то мы хотим брать данные с микрофона для сервиса субтитров и в идеале это делать продолжая передавать звук и на стримеры, но это не обязательно, можем и отключить звук (важно именно чтобы не нужно было заканчивать стрим и начинать новый с выключенным звуком)Добрый день.
Поскольку приложение одно и то же, то, если разрешение на доступ к микрофону дано пользователем, можно получить с него данные.
Если в данном случае достаточно публиковать только видео, то можно отключить публикацию аудио в констрейнтах. В этом случае Вы можете отдельно получить доступ к микрофону и забирать с него данные, например, в MediaRecorder.
К сожалению, так сделать нельзя. При освобождении камеры и микрофона (для чего есть методВозможно ли сделать так чтобы чтобы muteAudio освобождал микрофон для использования другими приложениями?
Flashphoner.releaseLocalMediaAccess()
) захват видео/аудио останавливается, для того, чтобы возобновить захват, требуется повторная публикация потока.Stream.muteAudio()
предназначен именно для заглушения потока, но не для остановки публикации. В этом случае библиотека WebRTC libjingle_peerconnection
, которая используется для публикации потока в Android SDK, отправляет тишину в аудиосоставляющей потока.Пожалуйста, еще раз уточните кейс: Вам необходимо на стороне зрителя включать субтитры, для этого Вы собираетесь на стороне публикующего устройства временно отдавать микрофон другому приложению? При таком подходе придется приостанавливать публикацию аудио для всех зрителей, даже для тех, кому субтитры в данный момент не нужны.
Этого можно добиться следующим образом:Т.е. есть ли возможность выключить аудио для всех зрителей (оставив при этом публикацию видео потока), чтобы в этот момент публикующее приложение могло запустить SpeechRecognition?
Flashphoner.releaseLocalMediaAccess()
, чтобы отпустить камеру и микрофон StreamOptions streamOptions = new StreamOptions(streamName);
Constraints constraints = new Constraints(null, videoConstraints);
streamOptions.setConstraints(constraints);
...
publishStream = session.createStream(streamOptions);