在Android应用程序中通过VideoView将播放的视频静音
我想在Android应用程序中通过VideoView将正在播放的视频静音。 我在VideoView课上找不到这样做的方法。 你知道怎么做吗 我在MediaPlayer类中找到了一个方法“setVolume”,但我找不到任何工作代码来通过MediaPlayer类播放视频。 所以我相信我可以用这个方法设置音量0 因此,我正在寻找使用MediaPlayer类播放视频的任何工作代码,或者如何使用VideoView类控制音量 下面是使用我正在使用的VideoView播放视频的代码在Android应用程序中通过VideoView将播放的视频静音,android,video,Android,Video,我想在Android应用程序中通过VideoView将正在播放的视频静音。 我在VideoView课上找不到这样做的方法。 你知道怎么做吗 我在MediaPlayer类中找到了一个方法“setVolume”,但我找不到任何工作代码来通过MediaPlayer类播放视频。 所以我相信我可以用这个方法设置音量0 因此,我正在寻找使用MediaPlayer类播放视频的任何工作代码,或者如何使用VideoView类控制音量 下面是使用我正在使用的VideoView播放视频的代码 @Override pu
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video);
VideoView videoView = (VideoView)this.findViewById(R.id.VVSimpleVideo);
MediaController mc = new MediaController(this);
mc.setAnchorView(videoView);
mc.setMediaPlayer(videoView);
videoView.setMediaController(mc);
String _path = "/mnt/sdcard/Movies/video5.mp4";
videoView.setVideoPath(_path);
videoView.requestFocus();
videoView.start();
}
我已经使用MediaPlayer类完成了这项工作。 我已经使用MediaPlayer类的setVolume函数将音量设置为0。 我还意识到不要使用AudioManager类,因为使用AudioManager时,如果将卷设置为0,则会将MediaPlayer和VideoView的所有实例的卷设置为0。但是如果您使用MediaPlayer的setVolume()方法,那么它只会使该实例的卷静音 另外,使用VideoView将音量设置为0也非常简单,因为VideoView是MediaPlayer类的包装器,只允许访问MediaPlayer的一些功能。 另外,我在一些博客上读到,虽然您可以使用VideoView实例引用MediaPlayer实例,但它非常复杂,不建议这样做。
希望这将有助于其他新读者尝试做类似的事情。如果你想访问
视频视图的MediaPlayer
,你必须调用MediaPlayer.OnPreparedListener
和MediaPlayer.OnCompletionListener
,然后你可以调用MediaPlayer.setVolume(0f,0f)代码>将卷设置为0的函数
这样做:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video);
VideoView videoView = (VideoView)this.findViewById(R.id.VVSimpleVideo);
MediaController mc = new MediaController(this);
mc.setAnchorView(videoView);
mc.setMediaPlayer(videoView);
videoView.setMediaController(mc);
String _path = "/mnt/sdcard/Movies/video5.mp4";
videoView.setVideoPath(_path);
videoView.setOnPreparedListener(PreparedListener);
videoView.requestFocus();
//Dont start your video here
//videoView.start();
}
MediaPlayer.OnPreparedListener PreparedListener = new MediaPlayer.OnPreparedListener(){
@Override
public void onPrepared(MediaPlayer m) {
try {
if (m.isPlaying()) {
m.stop();
m.release();
m = new MediaPlayer();
}
m.setVolume(0f, 0f);
m.setLooping(false);
m.start();
} catch (Exception e) {
e.printStackTrace();
}
}
};
尝试使用中建议的AudioManager。嗨,yorkw,我想在静音模式下播放视频。那么如何使用AudioManager播放视频呢?使用VideoView在使用AudioManager控制音量的同时播放视频。谢谢。它起作用了。顺便说一句,现在我想用这个静音视频播放其他音乐。那怎么可能呢?实际上,当我通过AudioManager为视频将音量设置为0时。它将我正在播放的另一首歌的音量设置为0。有没有这样的想法。i、 用我的Android应用程序在后台播放其他歌曲的视频(静音)。有时正常,有时不正常@拉吉亚克-找到可靠的解决方案了吗?有时有效,有时无效。我的猜测是,如果调用mp.setVolume时videoView可见,则会发生静音。否则,不会发生任何行动。如果我错了,请纠正我。显然,这发生在加载VideoViews时。如果我想在以编程方式播放视频时静音,该怎么办?
videoview.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setVolume(0, 0);
}
});