surfaceview的demo
来源:互联网 发布:div中加载页面js失效 编辑:程序博客网 时间:2024/06/15 17:44
package com.example.videotest;import android.app.Activity;import android.content.Intent;import android.media.AudioManager;import android.media.MediaPlayer;import android.media.MediaPlayer.OnPreparedListener;import android.os.Bundle;import android.util.Log;import android.view.SurfaceHolder;import android.view.View;import android.view.SurfaceHolder.Callback;import android.view.SurfaceView;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity implements Callback{private static MediaPlayer mediaPlayer;private SurfaceHolder surfaceHolder;private boolean isFirstEntry=true;public static final String PATH_INTRO_STRING = "intro/";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initMediaplayer();SurfaceView surfaceView = (SurfaceView) findViewById(R.id.surface_video);surfaceHolder = surfaceView.getHolder();surfaceHolder.addCallback(this);Button start=(Button) findViewById(R.id.start);Button gift=(Button) findViewById(R.id.gift);Button pause=(Button) findViewById(R.id.pause);start.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {}});gift.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {mediaPlayer.pause();Intent intent=new Intent();intent.setClass(MainActivity.this, GiftActivity.class);startActivity(intent);}});pause.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {mediaPlayer.pause();}});}private void initMediaplayer() {if (mediaPlayer == null) {mediaPlayer = new MediaPlayer();mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);mediaPlayer.setDisplay(surfaceHolder);} else {// 释放媒体mediaPlayer.release();mediaPlayer = null;}}private void playIntro() {if (mediaPlayer == null) {mediaPlayer = new MediaPlayer();} else {mediaPlayer.reset();}try {mediaPlayer.setDisplay(surfaceHolder);mediaPlayer.setDataSource("/storage/emulated/0/xl/zip/2014_08_01_bd03b69e-198b-11e4-830b-00163e020b37/intro/intro.xl");mediaPlayer.prepare();mediaPlayer.setOnPreparedListener(new OnPreparedListener() {@Overridepublic void onPrepared(MediaPlayer arg0) {mediaPlayer.start();}});} catch (Exception e) {Toast.makeText(MainActivity.this, "初始化失败,请重试", Toast.LENGTH_SHORT).show();finish();}}@Overridepublic void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {// TODO Auto-generated method stub}@Overridepublic void surfaceCreated(SurfaceHolder arg0) {if (isFirstEntry) {playIntro();isFirstEntry = false;} else {if (mediaPlayer != null) {mediaPlayer.setDisplay(surfaceHolder);mediaPlayer.start();}}}@Overridepublic void surfaceDestroyed(SurfaceHolder arg0) {// TODO Auto-generated method stub}@Overrideprotected void onRestart() {super.onRestart();if (mediaPlayer != null) {mediaPlayer.start();} else {finish();}}@Overrideprotected void onDestroy() {super.onDestroy();if (mediaPlayer != null) {mediaPlayer.release();mediaPlayer = null;}Log.e("yan", "onDestroy");}}
0 0
- surfaceview的demo
- 两个surfaceView切换的demo
- 使用surfaceView制作的拍照demo
- SurfaceView双缓冲Demo
- SurfaceView双缓冲Demo
- 【SurfaceView】SurfaceView的初步学习
- 【Android实战】SurfaceView绘制各种效果Demo
- SurfaceView--扩展SurfaceView的基础模版代码
- android的surfaceView介绍
- SurfaceView的学习
- SurfaceView的基本使用
- Android的SurfaceView使用
- SurfaceView的基本使用
- 初学Android的surfaceView
- SurfaceView的简单使用
- 关于SurfaceView的问题
- SurfaceView的基本使用
- SurfaceView的时间
- UIView Animation 学习笔记(一)
- DSP/BIOS使用之初窥门径——滴答时钟及烧写Flash
- 面向对象2
- Flex Text换行
- Yii PHP 框架分析 (一)
- surfaceview的demo
- Eclipse搭建Android开发环境
- 设置背景避免图像拉伸
- hibernate配置文件hibernate.cfg.xml的详细解释
- mysqldump:Couldn't execute ‘SELECT @@GTID_MODE':Unknown system variable 'GTID_MODE' (1193)
- PCB设计资料:看到最后才知道是福利
- vs2010 Winform 引用了类库,但就是提示找不到空间 using的了,一编译就找不到
- poj 2187 Beauty Contest 题解(凸包模板+旋转卡壳)
- Android 创建菜单、打开不同的菜单、菜单项点击事件