`
byandby
  • 浏览: 1695733 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android 播放视频示例

阅读更多
   由于Android平台由Google自己封装、设计、提供的Java Dalvik 在算法处理效率上无法与C/C++ 或 ARM ASM 相提并论,在描述或移植一些本地语言的解码器上显得无能为力,目前整个平台仅支持MP4 的 H.264、3GP 和 WMV 视频解析。
  
   Android内置的 VideoView类可以快速制作一个系统播放器,VideoView主要用来显示一个视频文件,我们先开看看VideoView类的一些基本方法。

    方法                                               说明
getBufferPercentage                               得到缓冲的百分比

getCurrentPosition                                得到当前播放的位置

getDuration                                       得到视频文件的时间

isPlaying                                         是否正在播放

pause                                             暂停

resolveAdjustedSize                               调整视频显示大小

seekTo                                            指定播放位置

setMediaController                                设置播放控制器模式(播放进度条)    

setOnCompletionListener                           当媒体文件播放完时触发事件
    
setOnErrorListener                                错误监听

setVideoPath                                      设置视频源路径

setVideoURI                                       设置视频源地址

start                                             开始播放



  下面是一个小例子 首先在布局文件中创建VideoView布局,并且创建几个按钮(Button) 来实现对视频的操作,当我们点击“装载” 按钮时,将指定视频文件的路径,如下代码所示:
	
      /*设置路径*/
      videoView.setVideoPath("/sdcard/test.mp4");
      /*设置模式-播放进度条*/
      videoView.setMediaController(new MediaController(Activity01.this));
      videoView.requestFocus();


  装载之后便可以通过start、pause 方法来播放和暂停,具体代码如下
Activity01
package com.yarin.android.Examples_07_03;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.MediaController;
import android.widget.VideoView;

public class Activity01 extends Activity {
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		setContentView(R.layout.main);

		/* 创建VideoView对象 */
		final VideoView videoView = (VideoView) findViewById(R.id.VideoView01);

		/* 操作播放的三个按钮 */
		Button PauseButton = (Button) this.findViewById(R.id.PauseButton);
		Button LoadButton = (Button) this.findViewById(R.id.LoadButton);
		Button PlayButton = (Button) this.findViewById(R.id.PlayButton);

		/* 装载按钮事件 */
		LoadButton.setOnClickListener(new OnClickListener() {
			public void onClick(View arg0) {
				/* 设置路径 */
				videoView.setVideoPath("/sdcard/test.mp4");
				/* 设置模式-播放进度条 */
				videoView.setMediaController(new MediaController(
						Activity01.this));
				videoView.requestFocus();
			}
		});
		/* 播放按钮事件 */
		PlayButton.setOnClickListener(new OnClickListener() {
			public void onClick(View arg0) {
				/* 开始播放 */
				videoView.start();
			}
		});
		/* 暂停按钮 */
		PauseButton.setOnClickListener(new OnClickListener() {
			public void onClick(View arg0) {
				/* 暂停 */
				videoView.pause();
			}
		});
	}
}


main.xml
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout 
  	xmlns:android="http://schemas.android.com/apk/res/android"
  	android:orientation="vertical"
  	android:layout_width="fill_parent"
  	android:layout_height="fill_parent"
  	>
	<TextView  
	android:layout_width="fill_parent" 
    	android:layout_height="wrap_content" 
    	android:text="@string/hello"
    />
    	<VideoView 
    	android:id="@+id/VideoView01" 
    	android:layout_width="320px"
   	android:layout_height="240px"
     />
  	<Button android:id="@+id/LoadButton"
    	android:layout_width="80px"
    	android:layout_height="wrap_content"
    	android:text="装载"
  	android:layout_x="30px"
  	android:layout_y="300px"
    	/>  
  	<Button android:id="@+id/PlayButton"
    	android:layout_width="80px"
    	android:layout_height="wrap_content"
    	android:text="播放"
  	android:layout_x="120px"
  	android:layout_y="300px"
    	/>
  	<Button android:id="@+id/PauseButton"
    	android:layout_width="80px"
    	android:layout_height="wrap_content"
    	android:text="暂停"
  	android:layout_x="210px"
  	android:layout_y="300px"
   	/>
</AbsoluteLayout>


  源码附件,如果大家要测试需要自己下载一个.mp4文件放入SD卡
分享到:
评论

相关推荐

    android视频播放示例

    本文将详细探讨如何在Android系统中实现视频播放功能,以"android视频播放示例"为主题,结合提供的压缩包文件,我们将会深入到Android视频播放器的开发核心。 首先,Android系统提供了MediaPlayer类,它是Android ...

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

    本文将详细讲解如何在Android的WebView中播放视频,包括全屏播放的实现方法。以下是对该主题的深入探讨: 1. **WebView基础知识**: - WebView是Android SDK提供的一种原生控件,用于加载和显示HTML、CSS和...

    android播放m3u8示例

    首先,我们需要了解`VideoView`组件,它是Android SDK中内置的一个视图类,可以用来播放视频。`VideoView`可以直接嵌入到布局中,并且提供了简单的控制接口。在Android Studio工程中,我们通常会将`VideoView`添加到...

    Android使用TextureView播放视频

    android中使用TextureView播放视频。TextureView使用变换(平移、缩放、旋转等)方便。也可以放在ListView或者ScrollView中,使用UI控件的一些特性比如View.setAlpha()。 博客地址:...

    android视频播放示例源代码

    "android视频播放示例源代码"为我们提供了一个宝贵的资源,它演示了如何利用ExoPlayer和VideoView这两个核心组件来实现高效的视频播放功能。下面将详细探讨这两个组件及其在支持RTMP、H265和H264编码格式时的关键...

    android播放视频文件源代码

    这个"android播放视频文件源代码"的资源正好提供了这样的功能,并且附带了注释,使得理解代码变得更加容易。接下来,我们将深入探讨Android视频播放的相关知识点。 1. **VideoView组件**: `VideoView`是Android ...

    android VideoView播放视频

    在Android开发中,VideoView是Android SDK提供的一种用于在应用程序中播放视频的组件。它是一个视图类,允许开发者在布局中嵌入视频播放功能,提供了简单易用的API来控制视频播放。本教程将深入讲解如何使用...

    Android 使用MediaPlayer播放视频

    在博客"Android使用MediaPlayer播放视频"中,作者更详细地介绍了如何实现视频播放,包括网络视频播放、处理播放状态变化、控制播放进度等功能。通过阅读该博客,你可以获得更全面的了解和实践指导。 总之,`...

    android webview播放网页视频

    下面我们将深入探讨如何在Android Webview中实现网页视频播放,并提供一个简单的示例。 首先,我们需要确保Webview能够处理HTML5视频标签。Android的Webview默认支持HTML5,但是某些功能可能需要更新或者自定义设置...

    Android视频播放demo

    在这个名为"Android视频播放demo"的项目中,开发者提供了一个集成简单、调用方便的代码示例,帮助其他开发者快速理解和实现视频播放功能。该项目主要涉及两个关键组件:`VideoView`和自定义的`VideoPlayer`,这里...

    Android 录音播放示例

    总的来说,"Android 录音播放示例"涵盖了Android开发中多个关键知识点,包括MediaRecorder和MediaPlayer的使用,SQLite数据库操作,以及ContentProvider的数据共享机制。开发者需要熟悉这些API的使用,才能构建出一...

    Android下使用SurfaceView播放视频文件

    在Android平台上,SurfaceView是一种特殊的视图,常用于处理高性能的图形渲染,比如播放视频或者游戏画面。在视频播放场景中,SurfaceView提供了一个高效且低延迟的显示机制,能够将视频帧直接绘制到Surface上,减少...

    Android播放海康威视监控视频Demo

    本示例"Android播放海康威视监控视频Demo"就是一个专为这个目的设计的项目,它演示了如何在Android设备上实现与海康威视IP摄像头的连接并播放视频流。海康威视是全球知名的安防产品提供商,其摄像头广泛应用于各种...

    Androidstudio 播放工程res/raw下的视频 自动循环播放 MyPalylocal.zip

    `VideoView`是Android系统提供的一个用于播放视频的视图组件。在你的布局文件(如`activity_main.xml`)中,添加一个`VideoView`控件,并为其指定一个ID,如下所示: ```xml android:id="@+id/videoView" ...

    Android下MediaPlayer播放MP3示例

    在Android平台上,`MediaPlayer`是系统提供的一个核心组件,用于播放音频和视频文件。这个组件支持多种媒体格式,包括MP3。在这个示例中,我们将深入探讨如何使用`MediaPlayer`来播放MP3文件。 首先,我们需要了解`...

    Android IjkPlayer 播放RTSP/RTMP视频流 Demo 可运行

    这个Demo项目“Android IjkPlayer 播放RTSP/RTMP视频流 Demo 可运行”提供了一个可运行的示例,展示了如何在Android应用中集成IjkPlayer来播放这两种类型的视频流。 首先,我们需要了解IjkPlayer的核心特性。...

    Android视频传输工程示例

    本示例项目"Android视频传输工程示例"提供了一个实用的框架,它利用Socket通信技术,实现了点对点(P2P)的视频数据传输。项目包含两个主要部分:SocketCamera作为服务端,cc作为客户端,它们都需要在同一局域网环境...

    android开发ExoPlayer播放视频和wav音频

    此外,ExoPlayerTest可能是项目中的一个测试用例或者示例代码,用于演示如何使用ExoPlayer播放视频和音频。 总之,ExoPlayer是Android开发者处理多媒体播放的重要工具,其强大的功能和灵活性使得它在各种复杂场景下...

    Android播放视频library.zip

    【Android播放视频library.zip】是一个专门针对Android平台的视频播放库项目,包含了各种与视频播放相关的功能和技术。这个库可能提供了高效、流畅且定制化的视频播放体验,适用于开发者在构建Android应用时集成视频...

Global site tag (gtag.js) - Google Analytics