`
123one
  • 浏览: 5350 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

videoview

 
阅读更多
构造函数:

public VideoView (Context context)

创建一个默认属性的VideoView实例。

参数

context    视图运行的应用程序上下文,通过它可以访问当前主题、资源等等。



public VideoView (Context context, AttributeSet attrs)

创建一个带有attrs属性的VideoView实例。

参数

context  视图运行的应用程序上下文,通过它可以访问当前主题、资源等等。

attrs        用于视图的 XML 标签属性集合。



public VideoView (Context context, AttributeSet attrs, int defStyle)

创建一个带有attrs属性,并且指定其默认样式的VideoView实例。

参数

context  视图运行的应用程序上下文,通过它可以访问当前主题、资源等等。

attrs        用于视图的 XML 标签属性集合。

defStyle 应用到视图的默认风格。如果为 0 则不应用(包括当前主题中的)风格。 该值可以是当前主题中的属性资源,或者是明确的风格资源 ID。



公共方法

public boolean canPause ()

(译者注:判断是否能够暂停播放视频)



public boolean canSeekBackward ()

(译者注:判断是否能够倒退)



public boolean canSeekForward ()

(译者注:判断是否能够快进)



public int getBufferPercentage ()

(译者注:获得缓冲区的百分比)



public int getCurrentPosition ()

(译者注:获得当前的位置)



public int getDuration ()

(译者注:获得所播放视频的总时间)



public boolean isPlaying ()

(译者注:判断是否正在播放视频)



public boolean onKeyDown (int keyCode, KeyEvent event)

KeyEvent.Callback.onKeyMultiple() 的默认实现。如果视图可用并可按, 当按下 KEYCODE_DPAD_CENTER 或 KEYCODE_ENTER 时执行视图的按下事件。

参数

keyCode   表示按下的键的、在 KEYCODE_ENTER 中定义的键盘代码

event        KeyEvent 对象,定义了按钮动作

返回值

如果处理了事件,返回真。如果允许下一个事件接受器处理该事件,可以返回假



public boolean onTouchEvent (MotionEvent ev)

实现该方法来处理触屏事件。

参数

event        触屏事件

返回值

如果事件已经处理返回True,否则返回false。



public boolean onTrackballEvent (MotionEvent ev)

实现这个方法去处理轨迹球的动作事件,轨迹球相对于上次事件移动的位置能用MotionEvent.getX() 和 MotionEvent.getY()函数取回。对应用户按下一次方向键, 他们通常作为一次移动处理(为了表现来自轨迹球的更小粒度的移动信息,他们返回小数)。

参数

ev     动作的事件



public void pause ()

(译者注:使得播放暂停)



public int resolveAdjustedSize (int desiredSize, int measureSpec)

(译者注:取得调整后的尺寸。如果measureSpec对象传入的模式是UNSPECIFIED那么返回的是desiredSize。如果measureSpec对象传入的模式是AT_MOST,返回的将是desiredSize和measureSpec对象的尺寸两者中最小的那个。如果measureSpec对象传入的模式是EXACTLY,那么返回的是measureSpec对象中的尺寸大小值。

关于MeasureSpec类的额外说明:MeasureSpec是一个android.view.View的内部类。它封装了从父类传送到子类的布局要求信息。每个MeasureSpec对象描述了控件的高度或者宽度。MeasureSpec对象是由尺寸和模式组成的,有3个模式:UNSPECIFIED、EXACTLY、AT_MOST,这个对象由MeasureSpec.makeMeasureSpec()函数创建。)



public void resume ()

(译者注:恢复挂起的播放器)



public void seekTo (int msec)

(译者注:设置播放位置)



public void setMediaController (MediaController controller)

(译者注:设置媒体控制器)

        

public void setOnCompletionListener (MediaPlayer.OnCompletionListener l)

注册在媒体文件播放完毕时调用的回调函数。

参数

l        要执行的回调函数



public void setOnErrorListener (MediaPlayer.OnErrorListener l)

注册在设置或播放过程中发生错误时调用的回调函数。如果未指定回调函数, 或回调函数返回假,VideoView 会通知用户发生了错误。

参数

l        要执行的回调函数



public void setOnPreparedListener (MediaPlayer.OnPreparedListener l)

注册在媒体文件加载完毕,可以播放时调用的回调函数。

参数

l        要执行的回调函数

        

public void setVideoPath (String path)

(译者注:设置视频文件的路径名)



public void setVideoURI (Uri uri)

(译者注:设置视频文件的统一资源标识符)



public void start ()

(译者注:开始播放视频文件)



public void stopPlayback ()

(译者注:停止回放视频文件)



public void suspend ()

(译者注:挂起视频文件的播放)



补充

         文章精选

                   VideoView « { Android学习指南}

                   Android利用VideoView实现VideoPlayer

                   编写简单自定义VideoView

                   Android VideoView如何播放RTSP的流

                   android利用VideoView实现视频全屏播放


视频开发Android VideoView的使用例程

作者:Blacklee

标签: AndroidVideoView视频
OPhone开发┆ 评论(1) ┆ 阅读(1973)




一、 xxxvideo.java

public class RemoteVideo extends Activity {

private String path = "";

private String textUrl = "";

private VideoView mVideoView;

private static int i = 0;







private int width;

private int heigh;

private Dialog dialog;

private Handler mHandler = new Handler();


public void onCreate(Bundle icicle) {

super.onCreate(icicle);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

Bundle bundle = this.getIntent().getExtras();

DisplayMetrics dm = new DisplayMetrics();

        getWindowManager().getDefaultDisplay().getMetrics(dm);

width=dm.widthPixels;

heigh=dm.heightPixels;

textUrl = bundle.getString("url");

if(width/heigh>0)

{

setContentView(R.layout.videoview);

path = bundle.getString("widthurl");

Log.i("MP4", "heng"+path);

}

if(width/heigh==0)

{

setContentView(R.layout.view);

path = bundle.getString("heighturl");

Log.i("MP4", "shu"+path);

}

dialog=ProgressDialog.show(this, "视频加载中...", "请您稍候");

mVideoView = (VideoView) findViewById(R.id.surface_view);

mVideoView.setVideoPath(path);

MediaController controller = new MediaController(this);

mVideoView.setMediaController(controller);

mVideoView.requestFocus();

mVideoView.setOnPreparedListener(new OnPreparedListener() {

//@Override

public void onPrepared(MediaPlayer mp) {

mVideoView.setBackgroundColor(Color.argb(0, 0, 255, 0));

dialog.dismiss();

}

});

mVideoView.setOnCompletionListener(new OnCompletionListener() {

//@Override

public void onCompletion(MediaPlayer mp) {

Toast.makeText(RemoteVideo.this, "video play finished!", Toast.LENGTH_LONG)

.show();

}

});

controller.setOnTouchListener(new View.OnTouchListener() {


public boolean onTouch(View v, MotionEvent event) {

return true;

}

});

}


@Override

protected void onResume() {

super.onResume();

mVideoView.seekTo(i);

mVideoView.start();

}

@Override

protected void onStop() {

super.onStop();

mVideoView.pause();

i = mVideoView.getCurrentPosition();

}

@Override

     public boolean onKeyDown(int keyCode, KeyEvent event) {

         if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {

          finish();

             return true;

         }

         return false;

     }

}


说明:

1. VideoView可接收本地和远程的视频源并解码;

2. MediaController为videoview的控制条类;

3. bundle获取intent传过来的视频路径;

二、videoview.xml


<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android"

Android:layout_width="fill_parent" android:layout_height="fill_parent"

Android:gravity="left" android:orientation="horizontal">

<VideoView Android:id="@+id/surface_view"

Android:layout_width="176px" android:layout_height="132px"

Android:layout_gravity="left" />

<WebView Android:id="@+id/web_openonline"

Android:layout_width="wrap_content"

Android:layout_height="wrap_content"/>

</LinearLayout>
分享到:
评论

相关推荐

    Android 使用videoview播放Rtsp视频 demo

    这个任务通常涉及到`VideoView`组件的使用,它提供了一个简单的接口来显示视频内容。本篇将详细介绍如何在Android中利用`VideoView`播放Rtsp视频,以及涉及到的相关技术点。 `VideoView`是Android SDK中的一个视图...

    VideoView半屏全屏视频播放

    在Android开发中,`VideoView`是一个非常重要的组件,它允许开发者在应用中集成视频播放功能。本Demo围绕`VideoView`展开,实现了一个自定义的`MediaView`控件,该控件不仅支持在线和本地视频的播放,还具备半屏与...

    android videoView视频播放

    在Android开发中,VideoView是Android SDK提供的一种用于在应用中播放视频的组件。它是一个视图类,可以直接在布局中使用,使得开发者能够轻松地将视频内容集成到应用程序中。本篇文章将深入探讨如何使用VideoView...

    VideoView缓冲/卡顿监听和处理

    在Android开发中,VideoView是用于播放视频的基本组件。它是一个可以嵌入到布局中的视图,能够方便地实现视频的播放、暂停、全屏等操作。本篇将深入探讨如何监听VideoView的缓冲状态、实时显示下载速度,并实现大小...

    VideoView 缓冲/卡顿监听和处理Demo

    在Android开发中,VideoView是系统提供的一种用于播放视频的组件。VideoView是基于MediaPlayer库构建的,可以方便地在应用程序中嵌入视频播放功能。本Demo主要关注VideoView在播放过程中可能出现的缓冲和卡顿问题,...

    Android使用VideoView+MediaController自定义seekbar和全屏切换功能

    在Android开发中,VideoView是用于播放视频的基本组件,而MediaController则是提供用户交互界面,如播放、暂停、音量控制等。当我们需要对默认的MediaController进行自定义,例如改变进度条样式或添加全屏切换功能时...

    android VideoView播放视频

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

    Android之VideoView播放视频

    在Android开发中,VideoView是系统提供的一种用于播放视频的视图组件,它使得开发者能够方便地在应用程序中集成视频播放功能。VideoView可以播放本地存储的视频文件,也可以通过流媒体方式播放网络上的视频资源。...

    android之视频播放系统VideoView和自定义VideoView控件的应用.rar

    本教程主要关注如何使用系统自带的`VideoView`组件以及自定义`VideoView`控件来实现这一功能。`VideoView`是Android SDK提供的一种易于使用的视图,它允许开发者将视频集成到应用程序中,支持本地和网络视频的播放。...

    Android原生VideoView视频开发demo

    在Android应用开发中,VideoView是一个非常重要的组件,它允许开发者在应用中集成视频播放功能。这个"Android原生VideoView视频开发demo"是专为初学者设计的实践项目,旨在帮助他们理解和掌握如何在Android应用程序...

    Android VideoView本地视频播放

    在Android开发中,VideoView是用于播放视频的一个重要组件,它可以轻松地集成到应用程序中,为用户提供便捷的视频播放体验。VideoView支持本地视频播放,同时也可与MediaController结合使用,提供诸如播放、暂停、快...

    videoview的简单使用

    在Android开发中,`VideoView` 是一个非常实用的组件,它允许我们轻松地在应用程序中集成视频播放功能。无论是播放本地存储的视频文件还是网络流媒体,`VideoView` 都提供了简单易用的API。下面我们将详细介绍如何...

    详解Android App中使用VideoView来实现视频播放的方法

    通过VideoView播放视频的步骤: 1、在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件 2、调用VideoView的如下两个方法来加载指定的视频 (1)setVidePath(String path):加载path文件代表的视频 (2...

    使用VideoView 播放视频

    在Android开发中,VideoView是Android SDK提供的一种用于在应用程序中播放视频的组件。它封装了MediaPlayer类,简化了视频播放的操作。VideoView可以轻松地集成到布局中,并且提供了控制视频播放的能力,如播放、...

    android下videoview播放rtsp的demo

    在Android开发中,VideoView是系统提供的一种用于播放视频的组件,它可以方便地集成到应用程序中,支持多种视频格式的播放。本示例主要讲解如何使用VideoView播放RTSP(Real Time Streaming Protocol)流媒体链接。 ...

    Android视频播放VideoView

    在Android平台上,VideoView是Android SDK提供的一种用于播放视频的组件。它允许开发者在应用程序中嵌入视频内容,用户可以直接在应用内部观看视频,而无需跳转到其他媒体播放器。VideoView支持多种视频格式,如MP4...

    android videoview视频播放

    在Android开发中,`VideoView`是一个非常实用的组件,用于播放音频和视频文件。它提供了简单的接口,使得开发者能够方便地将视频集成到应用程序中。`VideoView`是基于`SurfaceView`实现的,因此它能高效地处理多媒体...

    Android VideoView 使用例子

    在Android开发中,VideoView是Android SDK提供的一种用于播放视频的视图组件。它使得开发者能够在应用程序中轻松地集成视频播放功能,而无需深入理解多媒体处理的底层细节。本篇文章将详细探讨如何在Android应用中...

    VideoView的转屏处理技巧

    在Android开发中,`VideoView` 是一个非常实用的组件,用于播放音频和视频内容。在用户希望在设备上享受更宽广视野的横屏模式下观看视频时,正确处理屏幕旋转并实现全屏显示变得至关重要。本篇将详细介绍如何在...

    android videoview 自定义导航栏

    在Android开发中,`VideoView`是一个非常实用的组件,用于播放视频内容。然而,系统默认的`VideoView`往往无法满足所有用户界面和交互的需求,因此开发者有时需要自定义控制栏来提供更加个性化的用户体验。本文将...

Global site tag (gtag.js) - Google Analytics