`
chenguandong
  • 浏览: 16232 次
社区版块
存档分类
最新评论

android SurfaceView 视频播放器

 
阅读更多
package com.forcetech.android.hotel;


import java.net.URL;


import android.app.Activity;
import android.content.Intent;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnPreparedListener;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewTreeObserver.OnTouchModeChangeListener;
import android.widget.MediaController;
import android.widget.Toast;
import android.widget.VideoView;


public class FullScreenActivity extends Activity implements SurfaceHolder.Callback{
private MediaPlayer mediaPlayer;
private SurfaceView surfaceView;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
setContentView(R.layout.fullscreen);
super.onCreate(savedInstanceState);
surfaceView = (SurfaceView)findViewById(R.id.surfaceView);
mediaPlayer = new MediaPlayer();
surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
surfaceView.getHolder().setFixedSize(500, 500);

surfaceView.getHolder().setKeepScreenOn(true);


surfaceView.getHolder().addCallback(this);


}

@Override
public boolean dispatchKeyEvent(KeyEvent event) {

startActivity(new Intent(FullScreenActivity.this, HotelActivity.class));
return super.dispatchKeyEvent(event);
}
private void play(int position) {
try {
mediaPlayer.reset();
mediaPlayer.setDataSource("http://f3.3g.56.com/15/15/JGfMspPbHtzoqpzseFTPGUsKCEqMXFTW_smooth.3gp");
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDisplay(surfaceView.getHolder());
mediaPlayer.setScreenOnWhilePlaying(true);
mediaPlayer.prepareAsync();
mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mediaPlayer.start();
Toast.makeText(FullScreenActivity.this, "开始播放", 2).show();
}
});


} catch (Exception e) {
e.printStackTrace();
}
}




@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
// TODO Auto-generated method stub

}




@Override
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
play(0);

}




@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub

}


@Override
protected void onPause() {
if(mediaPlayer.isPlaying()){
mediaPlayer.stop();
mediaPlayer.release();
}
super.onPause();
}


}
分享到:
评论

相关推荐

    android视频播放器SurfaceView

    一个播放本地视频的播放器,可供使用和学习。 实现功能: 1、搜索制定目录下的本地视频,并显示缩略图及视频名称在列表上;2、点击播放指定视频或按顺序播放全部视频;3、包括进度条,播放和暂停键,时间显示等控件...

    Anddroid视频播放器(SurfaceView)

    一个用surfaceview写的视频播放器,里面带进度条拖动的,项目写的比较简洁。有需要的朋友可以下载一下。

    android surfaceview 播放视频

    android平台上使用surfaceview成功播放视频,可扩展制作成视屏播放器

    MediaPlayer+SurfaceView+视频播放器

    Android 入门视频播放器一般采用封装好的VideoView或MediaPlayer+SurfaceView两种类型,其中VideoView高度封装并不适合深入了解其中原理,下面利用SurfaceView+MediaPlay实现一个简单的视频播放器

    SurfaceView+MediaPlayer视频播放器支持选集,试看(拖进度条),声音,亮度,弹幕,横竖屏切换。

    SurfaceView+MediaPlayer打造万能播放器,支持选集功能,拖动进度条试看以及重新试看,声音亮度调节及横竖屏重力切换,弹幕功能,方便扩展如锁屏功能等。

    Android MediaPlayer 播放器(修改版)

    Android MediaPlayer视频播放器

    surfaceView播放器

    关于surfaceView的播放器。整理封装好代码,目前很多浏览器都用底层的播发器,只是视频解码,还用mediaplay,

    Android 平台上最好的视频播放器无需转换视频格式

    Android 平台上最好的视频播放器,没有之一。无需转换,直接将PC上的视频复制到手机中就可以随时随地观赏。 最佳的播放画质以及最流畅的播放体验 支持几乎所有的视频格式 支持mkv、mp4、mov的内置以及外挂srt、ass...

    卓开发:弹出自定义对话框自动播放视频(仿视频广告效果,使用mediaplayer和surfaceview做播放器)

    界面比较简单,就是弹出一个自定义的对话框,对话框中自动播放视频,播放完毕后对话框消失,与视频广告功能相似。

    Android移动开发-使用MediaPlayer和SurfaceView播放视频的实现

    使用VideoView播放视频简单、方便,但有些早期的开发者还是更喜欢使用MediaPlayer来播放视频,但由于MediaPlayer主要用于播放音频,因此它没有提供图像输出界面,此时就需要借助于SurfaceView来显示MediaPlayer播放...

    Android视频播放器Demo

    Android VideoView视频播放 以及SurfaceView+MediaPlayer 的简单封装,支持播放本地和网络视频

    android视频播放器支持多种视频格式

    android视频播放器采用SurfaceView实现,触摸弹出控制条控制播放,暂停,不操作一定时间后,自动消失控制条,并且支持多种视频格式如swf、flv、avi、asf、f4v、mkv、mov、rmvb、tp、ts、wmv、m3u8等市面上的视频格式...

    android视频播放器实训报告.doc

    实训报告书 实训名称: Android视频播放器 系 (部): 专业班级: 学生姓名: 学 号: 指导教师: 完成日期: "实训课题 "Android视频播放器 " "实训人姓名 " "同组人员 " " "实训日期 " " "实训成绩 " " "指导教" ...

    android视频播放器实训报告(1).doc

    实训报告书 实训名称: Android视频播放器 系 (部): 专业班级: 学生姓名: 学 号: 指导教师: 完成日期: "实训课题 "Android视频播放器 " "实训人姓名 " "同组人员 " " "实训日期 " " "实训成绩 " " "指导教" ...

    SurfaceView+MediaPlayer+播放列表

    一个播放本地视频的播放器,可供使用和学习。 实现功能: 1、搜索制定目录下的本地视频,并显示缩略图及视频名称在列表上;...android视频播放器SurfaceView 本地视频搜索 视频播放 SurfaceView RecycleView fab

    使用MediaPlayer 制作一个视频播放器

    使用MediaPlayer 制作一个 视频播放器 ,可指定视频的大小、预览的模式之外,还提供对 prepare,OnCompletionListener 等事件的判断。 通过创建SurfaceView 视图与控制SurfaceView 的 SurfaceHolder 对象,搭配 ...

    基于Android的模拟本地视频播放器的实现(源码+演示视频).rar

    基于 Android 的模拟本地视频播放器是一种应用程序,旨在让用户能够在其 Android 设备上播放本地存储的视频文件。该播放器通常具有以下功能和特点: 视频文件管理: 用户可以浏览其设备上存储的视频文件,并选择要...

    android视频播放器

    android视频播放器采用SurfaceView实现,触摸弹出控制条控制播放,暂停,支持列表播放 清晰度切换

    android音视频.zip

    项目是进行android音视频进阶的整个流程学习流程代码,其中包括1.在 Android 平台绘制一张图片,使用至少 3 种不同的 API,...将 ffmpeg 库移植到 Android 平台,结合上面积累的经验,编写一款简易的音视频播放器

Global site tag (gtag.js) - Google Analytics