我使用谷歌新的媒体播放器命名为ExoPlayer,无法找到一种方法来静音有没有一个简单的方法来静音音轨在谷歌ExoPlayer?或改变音量?
6tdlim6h1#
从版本2.X.X开始,静音和取消静音音量的新方法如下所示:
int currentvolume = player.getVolume();
确保在启动播放器后调用上面的行,否则你将得到一个nullpointerexception要静音音量:
player.setVolume(0f);
要取消音量静音,请执行以下操作:
player.setVolume(currentVolume);
bjg7j2ky2#
您可以使用ExoPlayer轻松完成:Java代码:
float currentVolume = player.getVolume(); if (currentVolume == 0f) { player.setVolume(1f); } else { player.setVolume(0f); }
Kotlin代码:
val curentVol = player?.volume if (curentVol == 0f) { player?.volume = 1f } else { player?.volume = 0f }
cedebl8k3#
在ExoPlayer 2.x.x中:获取当前卷:
int currentVolume = player..getAudioComponent().getVolume();
静音:
player.getAudioComponent().setVolume(0f);
取消静音:
player.getAudioComponent().setVolume(currentVolume);
00jrzges4#
我建议先获取当前音量,然后将其静音。当您将取消静音时,您可以给予用户相同的音量。
float currentvolume; currentvolume = player.getVolume(); player.setVolume(0.0f);
ktecyv1j5#
尝试
player.setSelectedTrack(DemoPlayer.TYPE_AUDIO, DemoPlayer.TRACK_DISABLED);
类似于这行代码
exdqitrt6#
只需简单地使用player.setVolume(0)将静音视频。
gmxoilav7#
使用Kotlin禁用ExoPlayer
player.audioComponent?.volume = 0f
koaltpgm8#
返回音频音量,0表示静音,1表示单位增益(信号不变)。您应该使用新版本:implementation 'com.google.android.exoplayer:exoplayer:2.18.5'
implementation 'com.google.android.exoplayer:exoplayer:2.18.5'
exoPlayer.volume = 0f
exoPlayer.volume = 1f
exdqitrt9#
获取当前卷:int currentvolume = player.getVolume();静音:player.setVolume(0f);取消静音:player.setVolume(currentVolume);
我发现了两种方法来实现它,通过从ExoPlayer编辑DemoPlayer。
DemoPlayer
基本上,你需要得到audioTrackRenderer,它是一个ExoPlayerComponent,并向它发送消息。所以:1.添加audioRenderer成员并在onRenderers中设置:
audioTrackRenderer
ExoPlayerComponent
audioRenderer
onRenderers
// Complete preparation. this.videoRenderer = renderers[TYPE_VIDEO]; this.audioRenderer = renderers[TYPE_AUDIO];
1.添加公共方法:
public void setMute(boolean toMute){ if(toMute){ player.sendMessage(audioRenderer, MediaCodecAudioTrackRenderer.MSG_SET_VOLUME, 0f); } else { player.sendMessage(audioRenderer, MediaCodecAudioTrackRenderer.MSG_SET_VOLUME, 1f); } }
用法:
静音:player.setMute(true);取消静音:player.setMute(false);
player.setMute(true);
player.setMute(false);
包括将音轨更改为空音轨:
// mute player.selectTrack(FullPlayer.TYPE_AUDIO, ExoPlayer.TRACK_DISABLED); // Unmute player.selectTrack(FullPlayer.TYPE_AUDIO, ExoPlayer.TRACK_DEFAULT);
9条答案
按热度按时间6tdlim6h1#
从版本2.X.X开始,静音和取消静音音量的新方法如下所示:
确保在启动播放器后调用上面的行,否则你将得到一个nullpointerexception
要静音音量:
要取消音量静音,请执行以下操作:
bjg7j2ky2#
您可以使用ExoPlayer轻松完成:
Java代码:
Kotlin代码:
cedebl8k3#
在ExoPlayer 2.x.x中:
获取当前卷:
静音:
取消静音:
00jrzges4#
我建议先获取当前音量,然后将其静音。当您将取消静音时,您可以给予用户相同的音量。
ktecyv1j5#
尝试
类似于这行代码
exdqitrt6#
只需简单地使用player.setVolume(0)将静音视频。
gmxoilav7#
使用Kotlin禁用ExoPlayer
koaltpgm8#
返回音频音量,0表示静音,1表示单位增益(信号不变)。
您应该使用新版本:
implementation 'com.google.android.exoplayer:exoplayer:2.18.5'
exdqitrt9#
Exoplayer 2.x.x
获取当前卷:
int currentvolume = player.getVolume();
静音:
player.setVolume(0f);
取消静音:
player.setVolume(currentVolume);
Exoplayer 1.x.x
我发现了两种方法来实现它,通过从ExoPlayer编辑
DemoPlayer
。好一个:
基本上,你需要得到
audioTrackRenderer
,它是一个ExoPlayerComponent
,并向它发送消息。所以:1.添加
audioRenderer
成员并在onRenderers
中设置:1.添加公共方法:
用法:
静音:
player.setMute(true);
取消静音:
player.setMute(false);
另一个:
包括将音轨更改为空音轨: