Android之使用VideoView组件播放一个简单的视频
2014-12-20 20:44
856 查看
1.在Android开发中,提供了VideoView组件用来播放视频文件。首先,要使用这个组件来播放视频,必须在布局文件下添加VideoView组件,然后再到Activity里获取这个组件,然后调用这个组件的setVideoPath(path)和setVideoURI(uri)方法来加载要播放的视频,其中setVideoPath(path)方法里面的参数path是该视频文件的路径,路径又分相对路径和决定路径,其中由File类的方法中可以获取到,即getAbsolutePath()获得绝对路径,getPath()获得相对路径,最后在调用start()方法播放视频,VideoView组件可以与MediaController组件来一起使用,MediaController组件用于通过控制界面来控制视频的播放,其中VideoView组件也提供了pause()方法和stop方法,用来暂停视频播放和停止视频播放。
2.接下来新建一个安卓项目,项目名为VideoTest,首先进行界面布局,打开项目下res目录的layout目录下的activity_main.xml文件,进行布局,添加VideoView控件
activity_main.xml文件代码如下:
3.这里,介绍如何把一个文件放入模拟器中,首先,打开Eclipse软件的工具栏,那里有个Window,点击后选择show view—other...然后出现下图界面:
4.这样就可以在下方出现一个File Explorer视图了,点击该视图,接着我们先打开模拟器,模拟器开启完毕后,File Explorer视图里出现好多文件,接着我们打开mnt目录下面有个sdcard文件夹,如下图所示:
接着我们选中mnt下的sdcard,然后点击上方的那个红色指向的箭头,指向它时提示:Push a file onto the device,即放置一个文件到模拟器设备里,点击之后选择我们计算机里的一个文件,我选择的是wf2.mp4文件,之后就等它完成即可:
5.接下来打开项目的src目录下的包的MainActivity.java文件,获取VideoView组件,并写加载视频和开始播放视频的代码
MainActivity.java文件代码如下:
6.这样应该可以播放一个简单的视频了,接下来运行这个程序,程序效果如下:
竟然不能播放,点击OK按钮出现下图:
其实视频已经播放完了,由于这个例子是在模拟器上运行的,所以并没有显示视频画面,把这个程序运行到真机里,应该就可以看到视频画面了。
7.如果你不想把文件放入模拟器上,你可以把你的mp4,3gp文件放入你的手机sdcard下,然后在把这个apk文件放入或发布到手机里面,就可以播放视频了,不过如果你的安卓手机不能播放大视频文件,可以把视频转换为3gp文件,就可以播放视频了,记得文件位置要记得,代码里需要该视频文件的路径。
8.以上就是全部内容,我以前写过,经本人安卓手机测试可以播放,不过我播放的文件是3gp格式的,还有,这个程序有两点bug,一个就是当你翻转手机时程序会停止播放视频,另一个就是当你正在播放视频时,点击返回按键时视频还在播放,在点击进去,视频从头播放,声音会交叉,接着就会弹出对话框,无法播放该视频,这里只是达到播放视频的效果,仅供大家学习参考,写得不好,请见谅,如有错误请提出,谢谢!
2.接下来新建一个安卓项目,项目名为VideoTest,首先进行界面布局,打开项目下res目录的layout目录下的activity_main.xml文件,进行布局,添加VideoView控件
activity_main.xml文件代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <VideoView android:id="@+id/video" android:layout_width="match_parent" android:layout_height="400dp" android:layout_gravity="center" /> </LinearLayout>
3.这里,介绍如何把一个文件放入模拟器中,首先,打开Eclipse软件的工具栏,那里有个Window,点击后选择show view—other...然后出现下图界面:
4.这样就可以在下方出现一个File Explorer视图了,点击该视图,接着我们先打开模拟器,模拟器开启完毕后,File Explorer视图里出现好多文件,接着我们打开mnt目录下面有个sdcard文件夹,如下图所示:
接着我们选中mnt下的sdcard,然后点击上方的那个红色指向的箭头,指向它时提示:Push a file onto the device,即放置一个文件到模拟器设备里,点击之后选择我们计算机里的一个文件,我选择的是wf2.mp4文件,之后就等它完成即可:
5.接下来打开项目的src目录下的包的MainActivity.java文件,获取VideoView组件,并写加载视频和开始播放视频的代码
MainActivity.java文件代码如下:
package com.example.videotest; import java.io.File; import android.app.Activity; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.MediaController; import android.widget.Toast; import android.widget.VideoView; public class MainActivity extends Activity { private VideoView video;// 声明VideoView对象 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); video = (VideoView) findViewById(R.id.video); // 获取VideoView组件 File file = new File("/sdcard/wf2.mp4"); // 获取SD卡上要播放的文件 MediaController mediaController = new MediaController(MainActivity.this); if (file.exists()) { // 判断要播放的视频文件是否存在 video.setVideoPath(file.getAbsolutePath()); // 指定要播放的视频,加载该视频文件 video.setMediaController(mediaController); // 设置VideoView与MediaController相关联,点击VideoView组件时会在下方弹出MediaController组件,用来控制视频的播放 video.requestFocus(); // 让VideoView获得焦点 try { video.start(); // 开始播放视频 } catch (Exception e) { e.printStackTrace(); // 输出异常信息 } // 为VideoView添加完成事件监听器 video.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mediaplayer) { // 弹出消息提示框显示播放完毕 Toast.makeText(MainActivity.this, "视频播放完毕", Toast.LENGTH_SHORT).show(); } }); } else { //弹出消息提示框提示文件不存在 Toast.makeText(MainActivity.this, "你所要播放的视频文件不存在", Toast.LENGTH_SHORT).show(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.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(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
6.这样应该可以播放一个简单的视频了,接下来运行这个程序,程序效果如下:
竟然不能播放,点击OK按钮出现下图:
其实视频已经播放完了,由于这个例子是在模拟器上运行的,所以并没有显示视频画面,把这个程序运行到真机里,应该就可以看到视频画面了。
7.如果你不想把文件放入模拟器上,你可以把你的mp4,3gp文件放入你的手机sdcard下,然后在把这个apk文件放入或发布到手机里面,就可以播放视频了,不过如果你的安卓手机不能播放大视频文件,可以把视频转换为3gp文件,就可以播放视频了,记得文件位置要记得,代码里需要该视频文件的路径。
8.以上就是全部内容,我以前写过,经本人安卓手机测试可以播放,不过我播放的文件是3gp格式的,还有,这个程序有两点bug,一个就是当你翻转手机时程序会停止播放视频,另一个就是当你正在播放视频时,点击返回按键时视频还在播放,在点击进去,视频从头播放,声音会交叉,接着就会弹出对话框,无法播放该视频,这里只是达到播放视频的效果,仅供大家学习参考,写得不好,请见谅,如有错误请提出,谢谢!
相关文章推荐
- Android之使用MediaPlayer和SurfaceView组件播放一个简单的视频
- Android--使用VideoView播放视频以及VideoView的api
- Android使用VideoView播放网络视频
- Android中使用VideoView 播放视频
- Android使用VideoView播放网络视频
- Android使用VideoView播放网络视频
- Android使用VideoView播放本地视频和youtube视频
- android之视频播放控件VideoView简单应用
- Android使用VideoView播放当前工程中的视频文件
- Android开发之使用VideoView播放视频
- Android使用VideoView播放网络视频
- 27、从头学Android之多媒体--使用VideoView播放视频
- 在Android中使用VideoView播放视频
- Android使用VideoView播放网络视频
- android之视频播放控件VideoView简单应用
- 初学Android,多媒体之使用VideoView播放视频(七十七)
- Android使用videoview播放res/raw下的视频并在结束后隐藏
- 在Android中使用VideoView播放视频
- android之视频播放控件VideoView简单应用
- 在Android中使用VideoView播放视频