Android videoview control is not displaying video, only audio is played

前端 未结 2 1123
花落未央
花落未央 2021-01-15 19:12

I am trying to play a video from a url in android, for this I am using videoview control in the fragment class, but while playing there is no video output only audio output

2条回答
  •  春和景丽
    2021-01-15 19:20

    Here try my code I suggest you for the following Code wherein I am running my application successfully

    The Code is as Follows:

    XML file:

    
    
    
        

    Java File:

    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.KeyEvent;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.MediaController;
    import android.widget.VideoView;
    
    public class VideoActivity extends Activity {
    
        private Button btnVideoGallery,btnCancel;
        private VideoView vvDisplayVideo;
        /** The Constant PICK_VIDEO. */
        private static final int PICK_VIDEO=1;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_video_options);
    
            btnVideoGallery=(Button)findViewById(R.id.btnVideoGallery);
            vvDisplayVideo=(VideoView)findViewById(R.id.vvDisplayVideo);
            btnCancel=(Button)findViewById(R.id.btnCancel);
            vvDisplayVideo.setVisibility(View.GONE);
    
            btnVideoGallery.setOnClickListener(new OnClickListener() {
    
                public void onClick(View v) {
    
                    Intent video=new Intent();
                    video.setAction(Intent.ACTION_PICK);
                    video.setType("video/*");
                    startActivityForResult(video, PICK_VIDEO);
    
                }
            });
    
            btnCancel.setOnClickListener(new OnClickListener() {
    
                public void onClick(View v) {
    
                    Intent goStartUp=new Intent(VideoActivity.this, StartUpActivity.class);
                    goStartUp.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    startActivity(goStartUp);
                    finish();
                }
            });
        }
    
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            // TODO Auto-generated method stub
            if (resultCode==Activity.RESULT_OK && requestCode == PICK_VIDEO) {
    
                vvDisplayVideo.setVisibility(View.VISIBLE);
                vvDisplayVideo.setVideoURI(data.getData());
                vvDisplayVideo.setFocusable(true);
                MediaController mc=new MediaController(this);
                vvDisplayVideo.setMediaController(mc);
                Log.i("True", "Executed");
            }
        }
    
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            // TODO Auto-generated method stub
    
            Intent goStartUp=new Intent(VideoActivity.this, StartUpActivity.class);
            goStartUp.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(goStartUp);
            finish();
            return super.onKeyDown(keyCode, event);
        }
    }
    

    Also you can modify the Manifest File as per your use:

    
        
        
            
            
            
    
            
    
        
        
    
    
    

提交回复
热议问题