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

时间:2018-04-12 06:40:19

标签: android youtube-api android-youtube-api

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

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

2 个答案:

答案 0 :(得分:1)

我仍然没有找到使用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);
}

答案 1 :(得分:1)

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

如果您要将视频静音,则必须在某种YouTube播放器上进行此操作。 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);