2017-12-25 5 views
0

Mein Ziel ist es, eine Videodatei (die auch Audio enthält) auf Knopfdruck abzuspielen; Aber irgendwie wird nur das Video angezeigt, aber es gibt kein Audio.Videobild verwenden, um Video mit Audiodatei abzuspielen

Mein MainActivity.java:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    VideoView mVideoView=(VideoView) findViewById(R.id.videoView); 
    //mAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); 
    Button button=(Button) findViewById(R.id.play_button); 
    button.setOnClickListener(new Button.OnClickListener(){ 
     @Override 
     public void onClick(View view){ 
      String uriPath="android.resource://com.example.android.happybirthday/"+R.raw.video_2; 
      VideoView mVideoView=(VideoView) findViewById(R.id.videoView); 
      Uri uri =Uri.parse(uriPath); 
      mVideoView.setVideoURI(uri); 
      mVideoView.requestFocus(); 
      mVideoView.start(); 
      mVideoView.setMediaController(new MediaController(MainActivity.this)); 
      mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
       @Override 
       public void onPrepared(MediaPlayer mp) { 
        mp.setVolume(0,0); 
       } 
      }); 
     } 
    }); 
} 

Mein activity_main.xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 

xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
tools:context="com.example.android.happybirthday.MainActivity"> 

<Button 
    android:text="Play" 
    android:id="@+id/play_button" 
    android:layout_gravity="center" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 
<VideoView 
    android:id="@+id/videoView" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

Antwort

0

Sie haben Volumen von Media-Player zu setzen. Sie können videoView.setOnPreparedListener(preparedListener); durch erste Einstellung Hörer tun und dann können Sie in der Methode public void onPrepared(MediaPlayer m) { von preparedListener Satz gewünschte Volumen m.setVolume(0f, 0f);

Beispiel mit Inline-Hörer:

videoview.setOnPreparedListener(new OnPreparedListener() { 
    @Override 
    public void onPrepared(MediaPlayer mp) { 
     mp.setVolume(0, 0); 
    } 
}); 
+0

es nicht funktioniert, habe ich versucht, es zu tun. –

Verwandte Themen