码迷,mamicode.com
首页 > 其他好文 > 详细

andriod VideoView

时间:2016-03-08 08:08:21      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

package com.example.yanlei.myyk;

import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.MediaController;
import android.widget.VideoView;

import java.io.File;


public class MainActivity extends AppCompatActivity {

    private VideoView videoView;
    MediaController mediaco;
    private Uri mUri;

    public static final String TAG = "VideoPlayer";

    private int mPositionWhenPaused = -1;

    private MediaController mMediaController;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        videoView = (VideoView) findViewById(R.id.videoview);
        //文件路径

        mUri = Uri.parse(Environment.getExternalStorageDirectory() + "/videoviewdemo.mp4");

        //Create media controller
        mediaco = new MediaController(this);
        //设置MediaController
        videoView.setMediaController(mediaco);
    }

    //监听MediaPlayer上报的错误信息


    public boolean onError(MediaPlayer mp, int what, int extra) {
        // TODO Auto-generated method stub
        return false;
    }


//Video播完的时候得到通知


    public void onCompletion(MediaPlayer mp) {
        this.finish();
    }


    //开始
    public void onStart() {
        // Play Video
        videoView.setVideoURI(mUri);
        videoView.start();

        super.onStart();
    }


    //暂停

    public void onPause() {
        // Stop video when the activity is pause.
        mPositionWhenPaused = videoView.getCurrentPosition();
        videoView.stopPlayback();
        Log.d(TAG, "OnStop: mPositionWhenPaused = " + mPositionWhenPaused);
        Log.d(TAG, "OnStop: getDuration  = " + videoView.getDuration());

        super.onPause();
    }


    public void onResume() {
        // Resume video player
        if (mPositionWhenPaused >= 0) {
            videoView.seekTo(mPositionWhenPaused);
            mPositionWhenPaused = -1;
        }

        super.onResume();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

权限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
或者
package com.example.yanlei.myyk;

import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.widget.MediaController;
import android.widget.VideoView;

import java.io.File;


public class MainActivity extends AppCompatActivity {

    private VideoView video1;
    MediaController  mediaco;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        video1=(VideoView)findViewById(R.id.videoview);
        mediaco=new MediaController(this);
        File file=new File(Environment.getExternalStorageDirectory() + "/videoviewdemo.mp4");
        if(file.exists()){
            //VideoView与MediaController进行关联
            video1.setVideoPath(file.getAbsolutePath());
            video1.setMediaController(mediaco);
            mediaco.setMediaPlayer(video1);
            //让VideiView获取焦点
            video1.requestFocus();
        }

    }



}

 

andriod VideoView

标签:

原文地址:http://www.cnblogs.com/gisoracle/p/5252627.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!