3 Stimmen

Deaktivieren des Tons in einem Video

Hallo, ich bin neu in der Android-Entwicklung und arbeite an einem Spiel. Ich habe derzeit eine Eröffnungssequenz, die eine Videoansicht ist, aber ich möchte den Ton stummschalten, wenn der Benutzer die Musik im Einstellungsmenü stumm schaltet. Das Problem ist, dass ich nicht weiß, wie man die Musik in einer Videovorschau stumm schalten kann, ohne das Video komplett auszuschalten!

18voto

Der AudioManager ist nicht immer eine gute Option, da Sie das gesamte System stummschalten...

Wenn Sie auf den MediaPlayer einer VideoView zugreifen möchten, müssen Sie MediaPlayer.OnPreparedListener und MediaPlayer.OnCompletionListener aufrufen, dann können Sie die Funktion setVolume(0f, 0f); aufrufen, um die Lautstärke auf 0 zu setzen.

Tun Sie dies:

@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();
            }    
     }
 };

0voto

Femi Punkte 63590

Das Beste, was Sie tun können, ist die Verwendung von AudioManager um den Musik-Stream zu Beginn der geschnittenen Szene stumm zu schalten und die Stummschaltung wieder aufzuheben, sobald sie beendet ist: VideoView bietet keine unabhängigen Stummschaltungsfunktionen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X