Android播放视频
来源:互联网 发布:淘宝虚拟试衣间的店 编辑:程序博客网 时间:2024/06/16 09:51
Android播放视频主要是使用 VideoView 类来实现的。这个类将视频的显示和控制集于一身,使得我们仅仅借助它就可以完成一个简易的视频播放器。VideoView 的用法和 MediaPlayer 也比较类似,主要有以下常用方法:
先看一下播放器界面:
在这个布局文件中,首先是放置了一个 VideoView,稍后的视频就将在这里显示。然后在 VideoView 的下面又放置了三个按钮,分别用于控制视频的播放、暂停和重新播放。以下是activity_main.xml文件源码:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <VideoView android:id="@+id/video_view" android:layout_width="match_parent" android:layout_height="wrap_content" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/video_view"> <Button android:id="@+id/play" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="播放" /> <Button android:id="@+id/pause" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="暂停" /> <Button android:id="@+id/replay" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="回放" /> </LinearLayout></RelativeLayout>
因为播放视频文件需要访问SD卡,所以需要加上响应的权限如下
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
MainActivity.java源码
package com.example.luoxn28.activity;import android.app.Activity;import android.os.Bundle;import android.os.Environment;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.VideoView;import java.io.File;public class MainActivity extends Activity implements View.OnClickListener { private static final String TAG = "hdu"; private Button play; private Button pause; private Button replay; private VideoView videoView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); play = (Button) findViewById(R.id.play); pause = (Button) findViewById(R.id.pause); replay = (Button) findViewById(R.id.replay); videoView = (VideoView) findViewById(R.id.video_view); play.setOnClickListener(this); pause.setOnClickListener(this); replay.setOnClickListener(this); initVideoPath(); } private void initVideoPath() { Log.d(TAG, "start initVideoPath"); File file = new File(Environment.getExternalStorageDirectory(), "movie.mp4"); // 视频文件在SD卡根目录下 videoView.setVideoPath(file.getPath()); Log.d(TAG, file.getPath()); Log.d(TAG, "end initVideoPath"); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.play: Log.d(TAG, "play"); if (!videoView.isPlaying()) { videoView.start(); } break; case R.id.pause: Log.d(TAG, "pause"); if (videoView.isPlaying()) { videoView.pause(); } break; case R.id.replay: Log.d(TAG, "replay"); if (videoView.isPlaying()) { videoView.resume(); } break; default: break; } } @Override protected void onDestroy() { super.onDestroy(); if (videoView != null) { videoView.suspend(); } }}
参考资料:
1、《第一行代码》 播放视频相应章节
0 0
- Android视频播放: VideoView播放视频(三)
- android视频播放
- Android 视频播放
- android 视频播放
- android 视频播放
- Android VideoView播放视频
- Android视频播放
- Android之视频播放
- Android 视频播放器
- android 视频播放
- android 播放视频示例
- android 视频播放器
- Android VideoView播放视频
- ANDROID 视频播放代码
- Android 视频播放 MediaPlayer
- Android视频播放
- Android 播放视频示例
- Android播放视频(四)
- SWT的线程(UI线程和非UI线程的理解)
- Python基础_SAX解析文件
- 工作周报069
- c语言字符数组与字符串的使用详解
- JS创建对象的几种方式
- Android播放视频
- 51nod 1285 山峰和分段
- 不能为虚拟电脑 打开一个新任务
- jsp中的c标签的用法
- MySQL命令大全
- C和指针4.4
- SCOPE_IDENTITY的用法
- 用位域描述float和double值
- 在 Win8 下安装 MongoDB