android视频_mediaPlayer
来源:互联网 发布:java 计算圆周率 编辑:程序博客网 时间:2024/06/05 15:22
一、项目目录结构
二、activity_main.xml代码
<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" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.zgs.videoMediaPlayer.MainActivity" > <SurfaceView android:id="@+id/sfv" android:layout_width="wrap_content" android:layout_height="wrap_content" /></RelativeLayout>三、MainActivity.java代码
package com.zgs.videoMediaPlayer;import android.app.Activity;import android.media.MediaPlayer;import android.media.MediaPlayer.OnPreparedListener;import android.os.Bundle;import android.view.SurfaceHolder;import android.view.SurfaceHolder.Callback;import android.view.SurfaceView;public class MainActivity extends Activity {private MediaPlayer player;private int currentPosition; //当前视频播放的位置@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//找到控件final SurfaceView sfv = (SurfaceView) findViewById(R.id.sfv);final SurfaceHolder surfaceHolder = sfv.getHolder();//添加一个callbacksurfaceHolder.addCallback(new Callback() {//当surfaceview销毁的时候调用@Overridepublic void surfaceDestroyed(SurfaceHolder holder) {System.out.println("surfaceDestroyed");if (player!=null && player.isPlaying()) {//获取当前视频播放的位置currentPosition = player.getCurrentPosition();player.stop();}}//当surfaceview 初始化了@Overridepublic void surfaceCreated(SurfaceHolder holder) {//[1]初始化mediaplayerplayer = new MediaPlayer();//[2]设置要播放的资源 path 可以是本地也可是网络路径try {player.setDataSource("/mnt/sdcard/cc.mp4");//[2.1]设置播放视频的内容 SurfaceHolder 是用来维护视频播放的内容player.setDisplay(surfaceHolder);//[3]准备播放 player.prepare();//player.prepareAsync(); //设置一个准备完成的监听player.setOnPreparedListener(new OnPreparedListener() {@Overridepublic void onPrepared(MediaPlayer mp) {//[4]开始播放 player.start();//[5]继续上次的位置继续播放 player.seekTo(currentPosition);}});} catch (Exception e) {e.printStackTrace();}}@Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {}});}}
0 0
- android视频_mediaPlayer
- Android提高_MediaPlayer播放网络音频
- Android开发05_MediaPlayer之音频播放
- 安卓音乐播放器_MediaPlayer
- Android 视频
- Android视频
- android 视频录制,视频拼接
- Android音视频-视频基础
- android视频播放
- 关于android视频解码
- Android 视频播放
- Android视频采集
- Android视频采集
- android 视频流采集
- Android视频开发浅析
- Android显示视频Demo
- Android视频采集
- Android视频监控方案
- 源代码实例
- 记录Android Studio项目提交到github上的出错处理
- java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一
- 3237: [Ahoi2013]连通图
- mysql垂直分区和水平分区
- android视频_mediaPlayer
- DBN---RBM简介
- linux系统中如何打开察看img文件内容
- 1、写在最前:设计模式六大原则
- 2、使用最广泛的模式-单例模式
- 2016 一个初入职场的码畜的年终总结
- bind()方法实现input绑定回车查询
- mysql explain亲测
- Linux 定时ftp下载