我正在使用 Youtube Api V3 在我的 Android应用中播放视频。但是,我正在使用文字转语音和视频,所以我想静音视频,以便听到其他音频。
我搜索过文档和互联网,但只找到了javascript解决方案。任何帮助,将不胜感激。感谢。
答案 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);