Android之视频播放

原创 2012年03月28日 12:32:02
    视频播放比音频播放要复杂一些,除了音频之外,还需要考虑一个视觉组件。为了解决这一问题,Android提供了一个专门的视图控制器android.widget.VideoView,封装了MediaPlayer的创建和初始化过程,这个小部件可以用在任何布局管理器中,而且它提供了很多显示选项,包括缩放和着色。要实现播放功能,我们要做的是,创建一个VideoView小部件并将其设置为用户界面的内容,然后设置视图的路径或URI并触发start()方法。

    视频播放除了需要按钮控件外,还需要一个显示视频的框架。对于我们这个例子,这里使用VideoView组件显示视频内容,没有创建我们自己的按钮控件,而是创建了一个MediaController来提供这些按钮(如果需要另外创建的话,也可以自己创建)。

代码如下:

-----------------------------MainActivity----------------------------

package cn.com.pan;

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;
public class MainActivity extends Activity {
   private VideoView videoView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        videoView = (VideoView) this.findViewById(R.id.videoView);
        MediaController mc = new MediaController(this);
        videoView.setMediaController(mc);
        //videoView.setVideoURI(Uri.parse(""));
        videoView.setVideoPath("/sdcard/test.mp4");
        videoView.requestFocus();
        videoView.start();
    }
}

--------------------------------main.xml------------------------------

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <VideoView
     android:id="@+id/videoView"
     android:layout_width="320dip"
     android:layout_height="260dip"
    ></VideoView>
</LinearLayout>

    在运行应用程序前,我们需要在模拟器中设置sdcard。创建一个新的SD卡映像mksdcard 512M mysdcard,使用emulator-sdcard mysdcard命令将SD卡加载到模拟器中,然后将文件test.mp4放入磁盘映像中,再启动应用程序。

Android三种播放视频的方式

在Android中,我们有三种方式来实现视频的播放: 1、使用其自带的播放器。指定Action为ACTION_VIEW,Data为Uri,Type为其MIME类型。 2、使用VideoVi...
  • u010015933
  • u010015933
  • 2016年06月08日 17:56
  • 1590

Android WebView播放视频(包括全屏播放)

最近项目开发中用到了WebView播放视频的功能,总结了开发中犯过的错误,这些错误在开发是及容易遇到的,所以我这里总结了一下,希望大家看到后不要再犯类似的错误,尽可能提高开发效率: 这个Demo我这...
  • u012440207
  • u012440207
  • 2014年09月26日 14:33
  • 10913

Android WebView 视频播放解决

最近项目中遇到WebView 播放视频需求(H5 video 标签),那么问题来了视频无法全屏播放等。 对于这种视频播放问题有多种方案可以解决,例如: 1.实现一个网络视频播放器来播放网络视频(这...
  • qq1805812268
  • qq1805812268
  • 2016年05月10日 17:28
  • 15850

Android MediaPlayer本地视频播放器

该文章的目的是让初学者能够,
  • u012440207
  • u012440207
  • 2014年05月07日 11:22
  • 3244

Android三种播放视频的方式

Android三种播放视频的方式 2016-08-16 刘望舒 安卓开发 来自:刘望舒的CSDN专栏 作者:刘望舒 链接:http://blog.csdn.net/it...
  • tianhe718
  • tianhe718
  • 2016年11月04日 14:45
  • 1361

SurfaceView和Mediaplayer实现播放网络和本地视频 一

SurfaceView Mediaplayer
  • qq_33544860
  • qq_33544860
  • 2016年04月14日 13:04
  • 4868

android播放音频,视频的操作及注意事项

android播放音频视频首先,申请权限,音频视频的权限都是一样的 注意的是,音频视频都只要WRITE_EXTERNAL_STORAGE这个权限,Intnet权限是为了获取网络uri的视频而给的权限...
  • chenxuanhe1995
  • chenxuanhe1995
  • 2017年02月04日 21:02
  • 916

Android视频播放数据读取的流程

这里分析Android4.0.1本地视频数据读取的流程,其他过程类似 当播放条件准备妥当之后,就要循环进行读取视频的原始数据放到MediaBuffer,将MediaBuffer中的数据输送到解码器...
  • RobertBaker
  • RobertBaker
  • 2014年12月18日 11:37
  • 1282

Android实现网络视频播放

Android实现网络视频播放Android实现网络视频播放 Android支持的格式 随笔 生活就像一杯水.本之无色无味,却可以包溶万千,展现出缤纷的色彩.而这一切都归咎于自己的追求. Andro...
  • qq_15807167
  • qq_15807167
  • 2016年06月19日 08:28
  • 10904

Android多个视频循环播放

Android多个视频循环播放
  • zhanglixin_0226
  • zhanglixin_0226
  • 2016年08月24日 16:31
  • 1818
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android之视频播放
举报原因:
原因补充:

(最多只允许输入30个字)