首先,创建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上播放视频相关推荐

  1. 亚马逊主图视频可以放几个?如何上传

    随着亚马逊的知名度上升之后,在上面开店的商家数量逐渐上升,使得各个店铺之间存在很大的竞争压力.如果想要让商品吸引更多消费者的关注,做好主图视频还是挺重要的,可是并不了解亚马逊主图视频可以放几个?如何上 ...

  2. 小程序给视频加默认图片封面,点击播放视频并停止播放上一个视频

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 实现的功能: 微信小程序视频组件添加图片封面, 点击图片播放视频, 点击下一个视频的封面图自动停止播放当前视频 ...

  3. android webview全屏时自动切换横屏,安卓 webview播放视频及横屏

    问题描述: 在项目中,会有在webview嵌入的网页中播放视频的需求,本来以为Android的WebView应该是默认支持视频播放的,不会有太大的问题,但是经过测试后,发现两个大问题: 有些手机无法正 ...

  4. Android中WebView使用6,js调java实现播放视频

    效果图 项目结构: 核心代码: JsCallJavaVideoActivity中 package com.zhh.android;import android.app.Activity; import ...

  5. 去除/屏蔽 安卓/Android手机的 qq浏览器 微信H5使用video标签播放视频,结束后的视频广告

    今天是个好日子  老干妈炖大鹅的好日子 X5内核是腾讯基于优秀开源Webkit深度"优化并加工"的浏览器渲染引擎   微信和手机qq都是  还有一些就不细说了 x5内核会监管vid ...

  6. 自学Java语言网络编程局域网内与电脑无线传输视频,图片文件,调用系统媒体播放视频图片文件

    先看看电脑上的效果,可以查看磁盘下的文件,可以用鼠标双击MP4,MP3文件会调用系统播放器进行播放,电脑与手机同局域网内无线互传jpg图片与MP4视频文件,其他文件此代码不支持.下面有安卓上的逻辑代码 ...

  7. 短视频软件开发,仿抖音滑动播放视频的实现

    下面要说的就是短视频软件开发重中之重,仿抖音滑动播放视频的实现. 当我们首次进入播放短视频页面时,会优先判断当前的视频列表videoList是否有值,如果没有值或当前的视频的index大于videoL ...

  8. 使用Swiper插件实现视频轮播,怎么实现切换自动播放视频?

    一.需求分析 这两天讨论了一个项目需求,刚开始是希望:轮播图中嵌入视频,轮播到视频自动播放,播放完毕切换下一张轮播,手动切换时暂停播放视频.后面因为自动播放没有声音,便暂时放弃了这个想法(有知道或了解 ...

  9. h5点播播放mp4视频遇到的坑,ios的h5不能播放视频等

    背景 h5的出现对多媒体在网页上的视频播放提供了支持,以前网页播放视频基本依赖于flash等插件.而h5的video标签实现了网页播放视频无插件化.因此,h5的出现给网页视频播放带来极大的便捷性,目前 ...

最新文章

  1. SAP WM高阶Storage Location Control
  2. 数组中查找並返回数组_用Python查找数组中出现奇数次的那个数字
  3. 飞行器的分类四轴飞行器实践教程大学霸
  4. Git 忽略提交 .gitignore模板
  5. Appium移动自动化测试(一)--安装Appium(转)
  6. 使用response的writer
  7. 关于html和javascript在浏览器中的加载顺序问题的讨论
  8. π!到底蕴藏了多少不为人知的秘密?|今日最佳
  9. python 如何定义空字典_python字典中如何添加键值对
  10. java Unsafe
  11. 【免费毕设】PHP教材管理系统(源代码+论文)
  12. 今天我才明白了泛型,泛型类 泛型方法
  13. docker镜像与容器的区别
  14. 091 类的多态和多态性
  15. 堪称Python入门新华字典的《Python背记手册》高清无码版,开源免费下载
  16. java中CAE画实心圆的参数_java绘图中RenderingHints 参数
  17. android 自动下载软件安装程序,手机自动安装软件怎么办
  18. 前端开发:Promise的使用丨蓄力计划
  19. 【程序思考】人穷志短,千古名言
  20. 庖丁解牛——深入解析委托和事件

热门文章

  1. 机器人能翻转汉堡肉饼 短暂上岗后将“休息”四天
  2. tracert 路由跟踪程序
  3. sublime text3函数追踪:ctags配置
  4. linux常用系统命令
  5. tftp 在线更新 cisco switch IOS
  6. jQuery 仿淘宝 鼠标悬停显示大图效果
  7. python 十六进制转中文_Python中十六进制数组到十进制的转换
  8. 【实用】ABAP“FOR ALL ENTRIES”的Hints 优化
  9. 【ABAP】带Excel附件的邮件发送功能
  10. 【转摘】Word提升效率的快捷键