Как отключить 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);
Другие вопросы по тегам