禁用视频中的声音

时间:2011-07-21 04:43:21

标签: android video media-player preferences

嗨,我是Android开发和游戏的新手。我目前有一个开放式过场动画,这是一个视频观看,但如果用户从偏好菜单中选择静音,我想静音。问题是我不知道如何在没有实际完全关闭视频的情况下将视频中的音乐静音!

2 个答案:

答案 0 :(得分:17)

音频管理器不是一个好的选择,因为你将所有系统静音...

如果您想要访问VideoView的MediaPlayer,您必须调用MediaPlayer.OnPreparedListener和MediaPlayer.OnCompletionListener,那么您可以调用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();
            }    
     }
 };

答案 1 :(得分:1)

您可以做的最好的事情是使用AudioManager在剪切场景的开头静音音乐流,并在完成后取消静音:VideoView不提供独立的静音控件。