Как отключить Youtube видео с помощью Youtube API v3?
Я использую Youtube Api V3 для воспроизведения видео в моем приложении для Android. Тем не менее, я использую текст в речь вместе с видео, поэтому я хотел бы отключить звук видео, чтобы другой звук был слышен.
Я искал документацию и интернет, но нашел решение только для javascript. Любая помощь будет оценена. Благодарю.
2 ответа
Я до сих пор не нашел точное решение, чтобы отключить видео Youtube с помощью API.
Вместо этого вот обходное решение, которого я достиг, в моем случае. Надеюсь, что это может быть полезно для кого-то еще.
Я установил для TTS Stream значение STREAM_ALARM (см. Этот вопрос).
HashMap<String, String> params = new HashMap<>();
params.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_ALARM));
textToSpeech.speak("Hello World", TextToSpeech.QUEUE_FLUSH, params);
Теперь я отключил звук тома SREAM_MUSIC и получил желаемый результат. Любой получил лучшее Идеи более чем приветствуются.
setVolumeControlStream(AudioManager.STREAM_MUSIC);
AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
if (am != null) {
am.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0);
}
API данных YouTube v3 не имеет ничего общего с воспроизведением, так как название подразумевает, что оно используется только для доступа к данным YouTube.
Если вы хотите отключить звук видео, вы должны сделать это на YouTubePlayer. Это официальный плеер YouTube от Google. Я не уверен, что вы можете отключить звук с этим, хотя, вероятно, нет.
Android-YouTube-Player является альтернативным плеером, его проще использовать, и вы можете программно изменять громкость.
YouTubePlayerView youTubePlayerView = findViewById(R.id.youtube_player_view);
youTubePlayerView.initialize(new YouTubePlayerInitListener() {
@Override
public void onInitSuccess(final YouTubePlayer initializedYouTubePlayer) {
initializedYouTubePlayer.addListener(new AbstractYouTubePlayerListener() {
@Override
public void onReady() {
String videoId = "6JYIGclVQdw";
initializedYouTubePlayer.loadVideo(videoId, 0);
initializedYouTubePlayer.setVolume(0);
}
});
}
}, true);