播放从Android中的onActivityResult中选择的视频

时间:2016-03-14 17:02:35

标签: android android-studio android-videoview

我在布局中有一个按钮和一个视频视图。当我点击按钮时,应该弹出内容选择器以选择视频,然后我需要能够在我的布局中的视频视图上播放该视频。

以下是我在onActivityResult()中尝试的代码:

final Uri videouri = videoreturnedIntent.getData();
videoView.setVideoPath(videouri.toString());
videoView.requestFocus();
videoView.start();

2 个答案:

答案 0 :(得分:0)

您需要编辑以下内容:

json

  final Uri videouri = videoreturnedIntent.getData();
videoView.setVideoPath(videouri.toString());

答案 1 :(得分:0)

以下是完整VideoActivity的示例。当你录制它时,你会得到视频。所以你可以直接使用它。

public class VideoActivity extends AppCompatActivity implements MediaPlayer.OnPreparedListener, MediaPlayer.OnCompletionListener {
    private static final String BUNDLE_URL = "url";
    private static final String BUNDLE_TITLE = "title";
    private VideoView mVideoView;
    private ProgressBar mProgressBar;

    public static Intent newIntent(Activity activity, String title, String url) {
        Intent mIntent = new Intent(activity, VideoActivity.class);
        mIntent.putExtra(BUNDLE_TITLE, title);
        mIntent.putExtra(BUNDLE_URL, url);
        return mIntent;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_video);
        try {
            Bundle bundle = getIntent().getExtras();
            String url = bundle.getString(BUNDLE_URL);

            mProgressBar = (ProgressBar) findViewById(R.id.progressbar);
            mProgressBar.setVisibility(View.VISIBLE);

            mVideoView = (VideoView) findViewById(R.id.videoview_video);
            MediaController mediaController = new MediaController(this);
            mediaController.setAnchorView(mVideoView);
            Uri video = Uri.parse(url);

            mVideoView.setMediaController(mediaController);
            mVideoView.setVideoURI(video);
            mVideoView.setOnPreparedListener(this);
            mVideoView.setOnCompletionListener(this);
            mVideoView.requestFocus();

        } catch (Exception e) {
            Toast.makeText(this, getString(R.string.unknown_error), Toast.LENGTH_SHORT).show();
        }
    }

    @Override
    public void onCompletion(MediaPlayer mp) {

    }

    @Override
    public void onPrepared(MediaPlayer mp) {
        mProgressBar.setVisibility(View.GONE);
        mVideoView.start();
    }
}