SurfaceHolder视频播放
1.在xml创建一个SurfaceView控件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="${relativePackage}.${activityClass}" ><SurfaceView android:id="@+id/surfaceView"android:layout_width="match_parent"android:layout_height="300dp"/></RelativeLayout>
2.java代码
package com.example.surfaceholder_1;import android.app.Activity;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;public class MainActivity extends Activity {private SurfaceView surfaceView;private MediaPlayer mediaPlayer;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//获取资源IDsurfaceView=(SurfaceView) findViewById(R.id.surfaceView);//获取视频资源Uri parse = Uri.parse(Environment.getExternalStorageDirectory()+"/bbb.mp4");mediaPlayer=MediaPlayer.create(MainActivity.this, parse);//创建子线程new Thread(){@Overridepublic void run() {// TODO Auto-generated method stubsuper.run();//储存SurfaceHolder holder = surfaceView.getHolder();//监听holder.addCallback(new Callback() {//销毁视图@Overridepublic void surfaceDestroyed(SurfaceHolder holder) {// TODO Auto-generated method stub}//加载视图@Overridepublic void surfaceCreated(SurfaceHolder holder) {// TODO Auto-generated method stub//加载mediaPlayer.setDisplay(holder);//播放mediaPlayer.start();}@Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {// TODO Auto-generated method stub}});}}.start();}
}
3.最后在androidmanifest.xml里加上权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
SurfaceHolder视频播放相关推荐
- 播放视频android学习笔记---44_在线视频播放器,网络视频解析器,SurfaceView 控件使用方法...
最近用使开辟的过程中涌现了一个小题问,顺便录记一下因原和法方--播放视频 44_在线视频播放器 ------------------------- 1.注意这里,在模拟器中,android2.2和an ...
- 采用Android的MediaPlayer+SurfaceView设计视频播放器
前言 android视频播放有很多方式(自带videoView等),这里简单说其中一种:MediaPlayer+SurfaceView,一个播放音频,一个播放视频(图像). 大体结构图 BaseMed ...
- 22_Android中的本地音乐播放器和网络音乐播放器的编写,本地视频播放器和网络视频播放器,照相机案例,偷拍案例实现
1 编写以下案例: 当点击了"播放"之后,在手机上的/mnt/sdcard2/natural.mp3就会播放. 2 编写布局文件activity_main.xml <Line ...
- 剖析 SurfaceView Callback以及SurfaceHolder
callback接口: 只要继承SurfaceView类并实现SurfaceHolder.Callback接口就可以实现一个自定义的SurfaceView了,SurfaceHolder.Callbac ...
- android学习笔记---44_在线视频播放器,网络视频解析器,SurfaceView 控件使用方法
44_在线视频播放器 ------------------------- 1.注意这里,在模拟器中,android2.2和android2.1视频是没有播放效果的,这个主要是因为模拟器的原因和程序代码 ...
- Android 视频播放器 (二):使用MediaPlayer播放视频
在 Android 视频播放器 (一):使用VideoView播放视频 我们讲了一下如何使用VideoView播放视频,了解了基本的播放器的一些知识和内容.也知道VideoView内部封装的就是Med ...
- Android视频播放
Android中的音频播放使用的是MediaPlayer类,但是这个类没有提供视频画面的播放位置,所以这里视频的播放显得略有不同,大致分为两种播放方式:直接调用系统的VideoView播放视频或者利用 ...
- 简易网络视频播放器android
简易网络视频播放器android demo: Qvod 1.新建: app\src\main\res\xml\network_security_config.xml 作用是可以发送 http请求 &l ...
- 安卓使用MediaPlayer自定义音频视频播放器
全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓使用MediaPlayer,一般还要配置一个播放画面SurfaceView,和一个进度条SeekBar. 视频的播放会更改进度条的进度,也可以手动 ...
最新文章
- d3d导致cairo不正常
- 著名作者网站论文下载
- Hadoop源码分析-Context
- 如何修改Android应用程序能够使用的默认最大内存值
- QT的QDateTimeEdit类的使用
- JAVA中文支持指南(Vera Yuanti)
- t-sne原理解释_T-SNE解释-数学与直觉
- blender视图缩放_如何使用主视图类型缩放Elm视图
- codeforces B. Friends and Presents(二分+容斥)
- 数据库的两个好帮手:pagehack和pg_xlogdump
- CTSC2017APIO2017
- python爬虫什么意思-Python为什么叫爬虫?Python与爬虫有什么关系?
- 帝国cms后台不停的登录成功
- hunnu 10246 最大间隙问题 桶排序+抽屉原理
- mysql单表瓶颈_mysql单表性能瓶颈_优化系列 | 实例解析MySQL性能瓶颈排查定位-云栖社区-阿里云...
- UiBot If(如果条件成立)
- 数据库系统—实体联系模型
- 方舟生存进化服务器文件设置,方舟生存进化私人服务器设置教程[多图]
- 用python求一元二次方程的解
- JavaWeb 图书管理系统(数据库综合实验)
热门文章
- BZOJ 3262 陌上花开
- 0xff java,Java中0xff的作用(byte0xff)
- 微信小程序开发uni-app-8分钟上手开发
- 情人节送礼荒?荣耀30Pro流光幻境了解一下
- 手机闹钟html,闹钟主题.html · 黄杰琪/app_ Smarter Alarm - Gitee.com
- 35岁逐渐知命的年龄,曾经的进取心也被消耗殆尽了,中年危机下真的只能安于现状吗?
- Linux内核学习(三)之asm.s和trap.c的关联!
- AI安防的狂欢:挖掘新故事、暴露旧隐忧
- nexus(maven仓库)搭建配置maven本地私有仓库
- 从构造函数看线程安全