• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

gisoracle

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

andriod VideoView

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

    }



}

 

posted on 2016-03-08 07:53  gisai  阅读(259)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3