如何使用 Youtube API v3 使 Youtube 视频静音?

How to mute a Youtube Video by using Youtube API v3?

我正在使用 Youtube Api V3 在我的 android 应用程序 中播放视频。但是,我正在使用文本转语音和视频,所以我想 静音 视频以便可以听到其他音频。

我搜索了文档和互联网,但只找到了 javascript 的解决方案。任何帮助,将不胜感激。谢谢

我仍然没有找到使用 Api 将 Youtube 视频静音的确切解决方案。

相反,在我的情况下,这是我已经达到的变通解决方案。希望它可能对其他人有所帮助。

我已将 TTS 流设置为 STREAM_ALARM。(参考 this 问题)

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);
}

YouTube 数据 API v3 与播放无关,顾名思义它仅用于访问 YouTube 的数据。

如果您想将视频静音,您必须在某种 YouTubePlayer 上执行此操作。 This 是来自 Google 的官方 YouTube 播放器。不过,我不确定您是否可以用它静音,可能不行。

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);