android在视频上放view,android在SurfaceView上播放视频
首先,创建sdcard镜像文件,在命令行下输入:
mksdcard 512M c:\sdcard.img命令
启动eclipse,单击window/preferences菜单,找到Launch项,
在Default emulator options 中填上 c:\sdcard.img
然后OK
找到eclipse的File Explorer 窗口, 在/mnt/sdcard中导入 3gp文件(我用的是zhoupkding.3gp)
然后开始程序:
界面上:
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:id="@+id/surfaceView"
android:layout_width="320px"
android:layout_height="200px"
/>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
android:id="@+id/play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="播放"
/>
android:id="@+id/pause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="暂停"
/>
源码: public class VideoPlayActivity extends Activity implements OnClickListener, SurfaceHolder.Callback{
// 视频的路径
String videoPath = "/mnt/sdcard/zhoupkding.3gp";
Button playButton;
Button pauseButton;
boolean isPause = false;
SurfaceHolder surfaceHolder;
MediaPlayer mediaPlayer;
SurfaceView surfaceView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
playButton = (Button)findViewById(R.id.play);
playButton.setOnClickListener(this);
pauseButton = (Button)findViewById(R.id.pause);
pauseButton.setOnClickListener(this);
// 让window自己设置程序的背景样式
getWindow().setFormat(PixelFormat.UNKNOWN);
surfaceView = (SurfaceView)findViewById(R.id.surfaceView);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
// 让surfaceView确定大小
surfaceHolder.setFixedSize(176, 144);
//Surface type: creates a "push" surface,
//that is a surface that doesn't owns its buffers.
//With such a surface lockCanvas will fail.
// 不加这个没有视频,只有声音,文档上说是需要的时候可以自动设置,但是并没有
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mediaPlayer = new MediaPlayer();
}
@Override
public void onClick(View v) {
if (v == playButton) {
isPause = false;
playVideo(videoPath);
} else if (v == pauseButton) {
if (isPause == false) {
mediaPlayer.pause();
isPause = true;
} else {
mediaPlayer.start();
isPause = false;
}
}
}
private void playVideo(String path) {
if (mediaPlayer.isPlaying() == true) {
mediaPlayer.reset();
}
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
//Sets the SurfaceHolder to use for displaying the video portion of the media.
mediaPlayer.setDisplay(surfaceHolder);
try {
mediaPlayer.setDataSource(path);
mediaPlayer.prepare();
} catch (Exception e) {
e.printStackTrace();
}
mediaPlayer.start();
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
}
}
android在视频上放view,android在SurfaceView上播放视频相关推荐
- 亚马逊主图视频可以放几个?如何上传
随着亚马逊的知名度上升之后,在上面开店的商家数量逐渐上升,使得各个店铺之间存在很大的竞争压力.如果想要让商品吸引更多消费者的关注,做好主图视频还是挺重要的,可是并不了解亚马逊主图视频可以放几个?如何上 ...
- 小程序给视频加默认图片封面,点击播放视频并停止播放上一个视频
微信小程序开发交流qq群 173683895 承接微信小程序开发.扫码加微信. 实现的功能: 微信小程序视频组件添加图片封面, 点击图片播放视频, 点击下一个视频的封面图自动停止播放当前视频 ...
- android webview全屏时自动切换横屏,安卓 webview播放视频及横屏
问题描述: 在项目中,会有在webview嵌入的网页中播放视频的需求,本来以为Android的WebView应该是默认支持视频播放的,不会有太大的问题,但是经过测试后,发现两个大问题: 有些手机无法正 ...
- Android中WebView使用6,js调java实现播放视频
效果图 项目结构: 核心代码: JsCallJavaVideoActivity中 package com.zhh.android;import android.app.Activity; import ...
- 去除/屏蔽 安卓/Android手机的 qq浏览器 微信H5使用video标签播放视频,结束后的视频广告
今天是个好日子 老干妈炖大鹅的好日子 X5内核是腾讯基于优秀开源Webkit深度"优化并加工"的浏览器渲染引擎 微信和手机qq都是 还有一些就不细说了 x5内核会监管vid ...
- 自学Java语言网络编程局域网内与电脑无线传输视频,图片文件,调用系统媒体播放视频图片文件
先看看电脑上的效果,可以查看磁盘下的文件,可以用鼠标双击MP4,MP3文件会调用系统播放器进行播放,电脑与手机同局域网内无线互传jpg图片与MP4视频文件,其他文件此代码不支持.下面有安卓上的逻辑代码 ...
- 短视频软件开发,仿抖音滑动播放视频的实现
下面要说的就是短视频软件开发重中之重,仿抖音滑动播放视频的实现. 当我们首次进入播放短视频页面时,会优先判断当前的视频列表videoList是否有值,如果没有值或当前的视频的index大于videoL ...
- 使用Swiper插件实现视频轮播,怎么实现切换自动播放视频?
一.需求分析 这两天讨论了一个项目需求,刚开始是希望:轮播图中嵌入视频,轮播到视频自动播放,播放完毕切换下一张轮播,手动切换时暂停播放视频.后面因为自动播放没有声音,便暂时放弃了这个想法(有知道或了解 ...
- h5点播播放mp4视频遇到的坑,ios的h5不能播放视频等
背景 h5的出现对多媒体在网页上的视频播放提供了支持,以前网页播放视频基本依赖于flash等插件.而h5的video标签实现了网页播放视频无插件化.因此,h5的出现给网页视频播放带来极大的便捷性,目前 ...
最新文章
- SAP WM高阶Storage Location Control
- 数组中查找並返回数组_用Python查找数组中出现奇数次的那个数字
- 飞行器的分类四轴飞行器实践教程大学霸
- Git 忽略提交 .gitignore模板
- Appium移动自动化测试(一)--安装Appium(转)
- 使用response的writer
- 关于html和javascript在浏览器中的加载顺序问题的讨论
- π!到底蕴藏了多少不为人知的秘密?|今日最佳
- python 如何定义空字典_python字典中如何添加键值对
- java Unsafe
- 【免费毕设】PHP教材管理系统(源代码+论文)
- 今天我才明白了泛型,泛型类 泛型方法
- docker镜像与容器的区别
- 091 类的多态和多态性
- 堪称Python入门新华字典的《Python背记手册》高清无码版,开源免费下载
- java中CAE画实心圆的参数_java绘图中RenderingHints 参数
- android 自动下载软件安装程序,手机自动安装软件怎么办
- 前端开发:Promise的使用丨蓄力计划
- 【程序思考】人穷志短,千古名言
- 庖丁解牛——深入解析委托和事件