package com.example.myvideo2;

 import java.io.File;

 import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.MediaController;
import android.widget.MediaController.MediaPlayerControl;
import android.widget.VideoView;
/**
* Android 播放视频
* @Describe:
* @package: com.example.myvideo2
* @author shaobn
* @date 2015-9-14 上午10:57:41
*/
public class MainActivity extends Activity implements MediaPlayerControl {
private VideoView videoView;
private MediaController mediaController;
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mediaController = new MediaController(MainActivity.this);
videoView = (VideoView) this.findViewById(R.id.videoView1);
button = (Button) this.findViewById(R.id.button1);
videoView.setMediaController(mediaController);
button.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
File file1 = Environment.getExternalStorageDirectory();
File file2 = new File(file1,"/Movies/Video.mp4");
Uri uri = Uri.fromFile(file2);
videoView.setVideoURI(uri);
}
}
}); }
@Override
public boolean canPause() {
// TODO Auto-generated method stub
return videoView.canPause();
}
@Override
public boolean canSeekBackward() {
// TODO Auto-generated method stub
return videoView.canSeekBackward();
}
@Override
public boolean canSeekForward() {
// TODO Auto-generated method stub
return videoView.canSeekForward();
}
@Override
public int getAudioSessionId() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getBufferPercentage() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getCurrentPosition() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getDuration() {
// TODO Auto-generated method stub
return 0;
}
@Override
public boolean isPlaying() {
// TODO Auto-generated method stub
return videoView.isPlaying();
}
@Override
public void pause() {
// TODO Auto-generated method stub
if (videoView.isPlaying()) {
videoView.pause();
}
}
@Override
public void seekTo(int arg0) {
// TODO Auto-generated method stub
videoView.seekTo(arg0);
}
@Override
public void start() {
// TODO Auto-generated method stub
videoView.start();
} }

实现播放视频文件。

Android 播放视频文件的更多相关文章

  1. android: 播放视频

    播放视频文件其实并不比播放音频文件复杂,主要是使用 VideoView 类来实现的.这个 类将视频的显示和控制集于一身,使得我们仅仅借助它就可以完成一个简易的视频播放器. VideoView 的用法和 ...

  2. .net利用本地播放器播放视频文件代码

    前台点击按钮,执行js事件,跳转到后台代码: function funShowVideo(index) {            var iTop = (window.screen.availHeig ...

  3. ffmpeg和opencv 播放视频文件和显示器

    ffmpeg它是基于最新版本,在官网下载http://ffmpeg.zeranoe.com/builds/.编译时VS2010配置相关头文件及库的路径就可以.opencv的搭建參考上一个博客. 首先简 ...

  4. android 播放assets文件里视频文件的问题

    今天做了一个功能,就是播放项目工程里面的视频文件,不是播放SD卡视频文件. 因为之前写webview加载assets文件夹时,是这样写的: webView = new WebView(this); w ...

  5. Android播放视频

    package cn.c;   import java.io.File;   import java.io.IOException;   import android.app.Activity;   ...

  6. Android 播放视频并获取指定时间的帧画面

    最近做的项目要求既能播放视频(类似于视频播放器),又能每隔1s左右获取一帧视频画面,然后对图片进行处理,调查了一周,也被折磨了一周,总算找到了大致符合要求的方法.首先对调查过程中涉及到的方法进行简单介 ...

  7. 用vlc SDK创建一个播放视频文件和RTSP流视频的Demo

    #include <stdio.h> #include <tchar.h> #include <time.h> #include <windows.h> ...

  8. java调用本地播放器播放视频文件。调用本地播放器不能播放指定文件的说明。

    public class OpenExe extends HttpServlet { //打开本地播放器并播放视频 public static void openExe(String file) { ...

  9. C#使用DirectShow播放视频文件 [转]

    原文网址:http://blog.csdn.net/openzpc/article/details/48442751 最近在开发一个视频播放软件,主要要求就是循环播放多个视频文件,并且要求两个视频文件 ...

随机推荐

  1. Http请求工具

    package cn.com.test; import java.io.BufferedReader; import java.io.IOException; import java.io.Input ...

  2. backbone 更新1.1.2

    backbone已经更新到1.1.2,在这里总结一下 我还一直用的1.0的版本,更新确实出现了一些问题 1.1.0  Backbone Views no longer automatically at ...

  3. 在zendstudio中添加注释

    /** * * * @access public * @param string $cat_id 分类查询字符串 * @return string */ 然后在function之前的一行打上/**然后 ...

  4. Ⅰ.net通信指前提

    ①大概搜索了一下,一般提到了这三种居多: Webservice:基于B/S的,可以对外发布方法 Socket:一种网络数据交换模型,Socket接口是TCP/IP网络的API,有三个主要因素:地址.端 ...

  5. jQuery控制DOM对象

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  6. 什么是EBC和EBO

    EBC英文全称为“Empty Base Class”,中文全称“空基类”.那什么是空基类呢?简单的说就是没有任何数据成员的类就称之为空基类.也就是EBC的类定义中不包含任何数据成员,那么这样一来可能大 ...

  7. H5 -- 本地存储计数器的值 和前端校验用户

    1. 存储计数器的值 <!DOCTYPE html> <html> <head lang="en"> <meta charset=&quo ...

  8. Altium designer 小技巧

    平常收集的小技巧都放在这里备忘. 1.连线完成后怎么检查飞线没连上? Ctrl+D,选择所有元素隐藏,剩下的就是没有连上的飞线了.

  9. SQLServer User and Login Tips

    use master IF EXISTS (SELECT * FROM sys.databases WHERE name = 'gpdb83sp')BEGIN DROP DATABASE gpdb83 ...

  10. mkdir

    1,mkdir Problem: You want to use the mkdir() function from the sys/stat.h POSIX header, but you don’ ...