- 浏览: 578341 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (411)
- webservice (3)
- oracle (37)
- sqlserver (8)
- j2ee (56)
- linux (7)
- javaweb (47)
- office (1)
- struts (23)
- hibernate (11)
- spring (29)
- 网络 (2)
- tomcat (13)
- tongweb (0)
- weblogic (0)
- powerdesiginer (3)
- svn (3)
- js (20)
- ie (2)
- 编译 (3)
- css (2)
- 操作系统 (5)
- Android (41)
- jbpm4.3 (1)
- fckeditor (3)
- 操作excel (2)
- db2常用命令 (1)
- ibatis (5)
- mysql (16)
- 表达式语言 (1)
- java方式调用存储过程 (1)
- ca (1)
- linux客户端 (1)
- 电子数码 (1)
- 行业应用 (12)
- 开发工具 (4)
- 面试 (1)
- 计算机原理 (1)
- NOSQL (5)
- 虚拟机 (1)
- nginx (0)
- velocity (2)
- jndi (1)
- spring mvc (39)
- springmvc (32)
- 安全 (5)
- htmleditor (6)
- iphone4 (1)
- html (4)
- jstl (2)
- ckeditor (5)
- 连接池 (1)
- jquery (6)
- 分页 (1)
- 技术研发规则 (1)
- javamail (1)
- maven (2)
- upload (1)
- log (1)
- 测试 (10)
- spring roo (1)
- 版本控制 (2)
- find bugs (0)
- jsf (0)
- springroo (0)
- 小道理 (1)
- 小道理,技术标准 (1)
- jsf (0)
- bitbao (2)
- redmine (3)
- 团队意识 (1)
- mybatis (2)
- jquery mobile (1)
- flexpaper (0)
- json (4)
- URLRewriteFilte (1)
- html5 (1)
- 都乐保活动 (0)
- openfire (0)
- TreeMap (1)
- build (0)
- javaweb,tag (0)
- algorithm (1)
- tag (2)
- 扯淡 (0)
- mac (2)
- 叶一火(老一) (1)
- 游玩 (1)
- 编码 (1)
- 上线部署 (0)
- 研发管理 (0)
- thumbnailator (2)
- 旅游 (0)
- bingweibo (1)
- 杂谈 (4)
- ktv (1)
- weibo (1)
- 爱情 (2)
- 饮食 (1)
- MediaWiki (1)
- git (1)
- 版本库 (1)
- servlet (1)
- 感悟 (1)
- 人生 (1)
- highcharts (1)
- poi (0)
- websphere (0)
- php (1)
最新评论
-
woshixushigang:
good
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
nathanleewei:
org.springframework.jdbc.core.B ...
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
浪禾木:
请问是ckeditor\contents.css吗?改过以后 ...
ckeditor自动换行问题 -
simusuishi:
刚哥威武!
ckeditor取值赋值问题 -
a455642158:
收割完毕……
Android开源项目源码下载(不断更新中)
android控件之VideoView建立自己的播放器
简介
用来播放视频文件。该VideoView类可以加载各种来源的图像(如资源或内容提供商),需要计算它从视频测量,以便它可以在任何布局管理器使用,并提供诸如缩放和着色的各种显示选项。在其他的平台上面可能VideoPlayer开发是一个比较有挑战性的工作,但是在Android上面VideoPlayer的开发,基本上可以做到傻瓜式啦。本文简单对VideoPlayer的开发进行简单的介绍。
实例
1.布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<VideoView android:id="@+id/videoview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
/>
</LinearLayout>
2.Java代码
package com.wjq;
import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.widget.MediaController;
import android.widget.VideoView;
public class VideoViewDemo extends Activity implements MediaPlayer.OnErrorListener,MediaPlayer.OnCompletionListener{
public static final String TAG = "VideoPlayer";
private VideoView mVideoView;
private Uri mUri;
private int mPositionWhenPaused = -1;
private MediaController mMediaController;
/* (non-Javadoc)
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.videoview);
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
mVideoView = (VideoView)findViewById(R.id.videoview);
//文件路径
mUri = Uri.parse(Environment.getExternalStorageDirectory() + "/ziranyouli.3gp");
//Create media controller
mMediaController = new MediaController(this);
//设置MediaController
mVideoView.setMediaController(mMediaController);
}
//监听MediaPlayer上报的错误信息
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
// TODO Auto-generated method stub
return false;
}
//Video播完的时候得到通知
@Override
public void onCompletion(MediaPlayer mp) {
this.finish();
}
//开始
public void onStart() {
// Play Video
mVideoView.setVideoURI(mUri);
mVideoView.start();
super.onStart();
}
//暂停
public void onPause() {
// Stop video when the activity is pause.
mPositionWhenPaused = mVideoView.getCurrentPosition();
mVideoView.stopPlayback();
Log.d(TAG, "OnStop: mPositionWhenPaused = " + mPositionWhenPaused);
Log.d(TAG, "OnStop: getDuration = " + mVideoView.getDuration());
super.onPause();
}
public void onResume() {
// Resume video player
if(mPositionWhenPaused >= 0) {
mVideoView.seekTo(mPositionWhenPaused);
mPositionWhenPaused = -1;
}
super.onResume();
}
}
发表评论
-
Android 菜单(OptionMenu)大全 建立你自己的菜单
2011-04-29 12:09 987Android 菜单(OptionMenu)大全 建立你自己 ... -
Android学习点点滴滴之获取系统可用内存
2011-04-29 12:08 958Android学习点点滴滴之获取系统可用内存 ... -
Android学习点点滴滴之获取正在运行的进程
2011-04-29 12:07 1049Android学习点点滴滴之获取正在运行的进程 ... -
Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)
2011-04-29 12:07 1211Android 应用程序窗体显示状态操作(requestWi ... -
Android游戏开发教程汇总
2011-04-29 12:06 1095Android游戏开发教程汇总 把最近搜集到 ... -
Android 对话框(Dialog)大全 建立你自己的对话框
2011-04-29 12:06 859Android 对话框(Dialog)大全 建立你自己的对话框 ... -
Android资源总结(开发工具/环境搭建/教程/论坛/博客/反编译工具)
2011-04-29 12:05 912Android资源总结(开发工具/环境搭建/教程/论坛/博客 ... -
android Toast大全(五种情形)建立属于你自己的Toast
2011-04-29 12:04 813android Toast大全(五种情形)建立属于你自己的T ... -
通过创建一个位图的XY Chart来学习Android绘图类Rect,Paint,Bitmap,Canvas(附源码)
2011-04-29 12:03 1812通过创建一个位图的XY Chart来学习Android绘图类 ... -
Android2.3操作系统即将发布,亮点解读
2011-04-29 12:02 1042Android2.3操作系统即将发布,亮点解读 ... -
Android之Bundle传递数据详解与实例及Bundle与SharedPreferences的区别
2011-04-29 12:02 1264Android之Bundle传递数据详解与实例及Bundle ... -
Android开源项目源码下载(不断更新中)
2011-04-29 12:01 5795Android开源项目源码下 ... -
Android控件之ZoomButton缩放按钮
2011-04-29 12:00 1107Android控件之ZoomButton缩放按钮 ... -
Android控件之ZoomControls缩放控件
2011-04-29 12:00 1331Android控件之ZoomControls缩放控件 ... -
Android简单数据存储类SharedPreferences详解及实例(通过“记住密码”功能学习SharedPreferences)
2011-04-29 11:58 1159Android简单数据存储类SharedPreference ... -
Android布局控件之LinearLayout详解
2011-04-29 11:58 1360Android布局控件之LinearLa ... -
Android控件之SlidingDrawer(滑动式抽屉)详解与实例
2011-04-29 11:56 1317Android控件之SlidingDrawer ... -
转Android系统架构
2011-04-29 11:55 897转Android系统架构 Android的系统 ... -
Android学习资料分享(不断更新中)
2011-04-29 11:54 1372Android学习资料分享(不断更新中) 最近 ... -
Android权限说明
2011-04-29 11:53 777Android权限说明 程序执行需要读取到安全敏 ...
相关推荐
在Android平台上,开发一款音乐播放器和视频播放器是一项复杂且技术含量高的任务。源码是开发者学习和理解这类应用内部工作原理的重要资源。这里我们深入探讨一下"android音乐播放器和视频播放器源码"所涉及的关键...
实现 Android 视频滚动列表(偷懒型)需要经过列表的建立、添加播放器、Adapter 的实现和视频播放器的实现等步骤。在这里,我们使用 PLDroidPlayer 库中的 PLVideoTextureView 来实现视频播放器,并在 Adapter 中...
Android的虚拟机是Dalvik,不同于Java的JVM(Java Virtual Machine),Dalvik是专门为移动设备优化的轻量级虚拟机,每个应用都有自己的Dalvik实例。 【Activity的启动与生命周期】 Activity可以通过startActivity、...
11.1.3 使用VideoView播放视频 435 11.1.4 使用MediaPlayer和 SurfaceView播放视频 436 11.2 使用MediaRecorder录制 音频 439 11.3 控制摄像头拍照 442 11.3.1 通过Camera进行拍照 442 11.3.2 录制...
这部分内容深入浅出地介绍了Android程序的设计基础,从项目结构到UI设计,再到事件处理机制,帮助读者建立起对Android应用开发的整体认识。 #### 四、用户界面开发 **4.1 用户界面开发详解** - **4.1.1 用户界面...
《疯狂Android讲义(第2版)》.(李刚).源代码 疯狂Android讲义目录结构: 第2章、Android应用程序界面设计,即View 2.2、布局管理(Layout):LinearLayout、TableLayout、FrameLayout、RelativeLayout; 2.3、基本...
4.1、建立、配置和使用Activity: 4.2、Activity的回调机制: 4.3、Activity的生命周期: 第5章、使用Intent和IntentFilter进行通信 5.1、Intent对象详解: 5.2、Intent的属性及intent-filter配置:Component...
根据提供的文件信息,“android考试资料”这一标题及“android 开发程序选择题以及答案帮助你考试”的描述,本文将围绕Android开发的基础知识点进行详细的解析,旨在帮助读者更好地理解和掌握相关概念,为考试做好...
通过上述内容的学习,开发者可以建立起一套完整的 Android 应用开发流程。从环境搭建到应用程序的实现,再到后期的测试与调试,每一步都至关重要。此外,不断深入学习新技术,如 Kotlin、Jetpack 等,也能帮助开发者...