- 浏览: 137894 次
- 性别:
文章分类
- 全部博客 (226)
- Android (181)
- C# (8)
- BOOTSTRAP (1)
- ASP.NET MVC4 (1)
- 设计模式 (1)
- VB.NET (1)
- WPF (0)
- PLC (0)
- 电气图纸 (0)
- 数据库 (5)
- Java (5)
- Window phone (0)
- 仪器仪表 (0)
- 变频器 (0)
- 低压电器 (0)
- 物联网 (0)
- Photoshop (1)
- SVN (1)
- 单片机 (5)
- IT (1)
- Android_IOS风格 (0)
- Android_广告栏展示 (0)
- Android_动画 (1)
- Android_Adapter (0)
- Android_ListView (1)
- Android_File (2)
- Android_表单提交 (0)
- Android_WebView (1)
- PHP (2)
- Android_Excel (1)
- Android_drawable (1)
- Android_theme (2)
- Android_phonegap (2)
- Android_AndroidManifest (1)
- ThinkPHP (0)
- Jquery (1)
- Android_ContentProvider (1)
最新评论
1、创建MediaPlayer对象,并让它加载指定的视频文件。
2、在界面布局中定义SurfaceView组件,或在程序中创建SurfaceView组件,并为SurfaceView的SurfaceHolder添加Callback监听器。
3、调用MediaPlayer对象的setDisplay(SurfaceHolder sh)将所播放的视频图像输出到指定的SurfaceView组件。
4、调用MediaPlayer对象的start()、stop()和pause()方法控制视频的播放。
2、在界面布局中定义SurfaceView组件,或在程序中创建SurfaceView组件,并为SurfaceView的SurfaceHolder添加Callback监听器。
3、调用MediaPlayer对象的setDisplay(SurfaceHolder sh)将所播放的视频图像输出到指定的SurfaceView组件。
4、调用MediaPlayer对象的start()、stop()和pause()方法控制视频的播放。
public class SurfaceViewPlayVideo extends Activity implements OnClickListener { SurfaceView surfaceView; ImageButton play , pause , stop; MediaPlayer mPlayer; //记录当前视频的播放位置 int position; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 获取界面中的3个按钮 play = (ImageButton) findViewById(R.id.play); pause = (ImageButton) findViewById(R.id.pause); stop = (ImageButton) findViewById(R.id.stop); // 为3个按钮的单击事件绑定事件监听器 play.setOnClickListener(this); pause.setOnClickListener(this); stop.setOnClickListener(this); // 创建MediaPlayer mPlayer = new MediaPlayer(); surfaceView = (SurfaceView) this.findViewById(R.id.surfaceView); // 设置SurfaceView自己不管理的缓冲区 surfaceView.getHolder().setType( SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); // 设置播放时打开屏幕 surfaceView.getHolder().setKeepScreenOn(true); surfaceView.getHolder().addCallback(new SurfaceListener()); } @Override public void onClick(View source) { try { switch (source.getId()) { // 播放按钮被单击 case R.id.play: play(); break; // 暂停按钮被单击 case R.id.pause: if (mPlayer.isPlaying()) { mPlayer.pause(); } else { mPlayer.start(); } break; // 停止按钮被单击 case R.id.stop: if (mPlayer.isPlaying()) mPlayer.stop(); break; } } catch (Exception e) { e.printStackTrace(); } } private void play() throws IOException { mPlayer.reset(); mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); // 设置需要播放的视频 mPlayer.setDataSource("/mnt/sdcard/movie.3gp"); // 把视频画面输出到SurfaceView mPlayer.setDisplay(surfaceView.getHolder()); mPlayer.prepare(); mPlayer.start(); } private class SurfaceListener implements SurfaceHolder.Callback { @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } @Override public void surfaceCreated(SurfaceHolder holder) { if (position > 0) { try { // 开始播放 play(); // 并直接从指定位置开始播放 mPlayer.seekTo(position); position = 0; } catch (Exception e) { e.printStackTrace(); } } } @Override public void surfaceDestroyed(SurfaceHolder holder) { } } // 当其他Activity被打开,暂停播放 @Override protected void onPause() { if (mPlayer.isPlaying()) { // 保存当前的播放位置 position = mPlayer.getCurrentPosition(); mPlayer.stop(); } super.onPause(); } @Override protected void onDestroy() { // 停止播放 if (mPlayer.isPlaying()) mPlayer.stop(); // 释放资源 mPlayer.release(); super.onDestroy(); } }
发表评论
-
LayoutInflater
2014-12-22 21:43 512在实际开发中LayoutInflater这个类还是非常有用的, ... -
ContentProvider之读写短消息
2014-12-08 11:08 565http://blog.csdn.net/liuhe ... -
android之启用默认浏览器
2014-11-03 12:36 480一、启动android默认浏览器 Intent inten ... -
eclipse下看android support v4源码
2014-09-18 22:24 600http://cfy10.blog.51cto.com/707 ... -
Android学习 (七)synchronized
2014-09-17 10:16 585http://hi.baidu.com/fenghuang12 ... -
ScheduledExecutorService定时周期执行指定的任务
2014-09-17 09:57 636http://blog.csdn.net/tsyj810883 ... -
android rotate
2014-09-16 15:21 1173rotate:fromDegrees:其实角度。toDegr ... -
Android获取Manifest中<meta-data>元素的值
2014-09-12 15:39 641在AndroidManifest.xml中,<meta- ... -
PopupWindow
2014-09-12 11:09 8481-初始化 PopupWindow mPop = new P ... -
Android的事件分发onInterceptTouchEvent与onTouchEvent、OnClickListener、OnLongClick
2014-09-11 11:05 869onInterceptTouchEvent()是ViewGro ... -
scrollTo、scrollBy、getScrollX、getScrollY这4个方法的含义,Scroller的简单用法
2014-09-11 10:43 1514scrollTo、scrollBy都是 对 ... -
VelocityTracker
2014-09-11 10:14 650android.view.VelocityTracker主要用 ... -
Android之SurfaceHolder
2014-09-09 16:05 568SurfaceHolder,可以把它当成surface的控制器 ... -
android performClick使用
2014-09-09 13:53 1111performClick 是使用代码主动去调用控件的点击事件( ... -
slidingmenu使用说明
2014-09-07 10:17 585左侧、右侧和两边 在BaseActivity中将Slid ... -
Android之SlidingMenu属性详解
2014-09-07 09:52 624SlidingMenu 常用属性介绍: menu.setMod ... -
Android IOS风格侧边栏效果
2014-08-27 13:45 319http://download.csdn.net/detail ... -
android 代码设置、打开wifi热点及热点的连接
2014-08-26 10:30 1007见博客文章 http://blog.csdn.net/luob ... -
Android 之两点触摸技术
2014-08-26 09:58 712package mobile.android.multi.to ... -
Android动画之translate(位移动画)
2014-08-25 15:53 445http://www.cnblogs.com/bavariam ...
相关推荐
android 利用MediaPlayer+SurfaceView播放视频,与我的文章对应http://blog.csdn.net/shenxiaolei507/article/details/41349295,而且其中还有很多高级功能的实现,还包括ViedioView播放视频!!
使用VideoView播放视频简单、方便,但有些早期的开发者还是更喜欢使用MediaPlayer来播放视频,但由于MediaPlayer主要用于播放音频,因此它没有提供图像输出界面,此时就需要借助于SurfaceView来显示MediaPlayer播放...
Android下使用SurfaceView播放视频文件,详细参见博客:http://www.cnblogs.com/plokmju/p/android_SurfaceView.html
MediaPlayer,SurfaceView,使用audioView,和Mediaplay
传智播客_Andorid_20天精通Android开发视频_第14天视频_视频_16_MediaPlayer_surfaceView播放网络视频.avi
android平台上使用surfaceview成功播放视频,可扩展制作成视屏播放器
Android MediaPlayer+SurfaceView+自定义控制器实现视频播放demo
SurfaceView+MediaPlayer视频播放,包含小窗口和全屏播放
android 网络视频播放 MediaPlayer SurfaceView
Android视频播放:SurfaceView+MediaPlayer播放视频http://blog.csdn.net/bing054/article/details/51195175
一个播放本地视频的播放器,可供使用和学习。 实现功能: 1、搜索制定目录下的本地视频,并显示缩略图及视频名称在列表上;2、点击播放指定视频或按顺序播放全部视频;3、包括进度条,播放和暂停键,时间显示等控件...
详情见博客:https://blog.csdn.net/qq_20785431/article/details/100543504
主要为大家详细介绍了android使用surfaceview+MediaPlayer播放视频,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
surfaceview+mediaplayer 实现视频播放和动态设置view的宽高和全屏窗口切换。播放的是没m3u8的视频,大家有什么问题也可以回复。
界面比较简单,就是弹出一个自定义的对话框,对话框中自动播放视频,播放完毕后对话框消失,与视频广告功能相似。
例子中使用SurfaceView控件显示视频,使用MediaPlayer控制视频播放。
* 播放视频 * */ public void play(String path){ try { mediaPlayer.reset(); mediaPlayer.setDataSource(path); mediaPlayer.prepare(); mediaPlayer.start(); } catch (IllegalArgumentException e) { ...
一个播放本地视频的播放器,可供使用和学习。 实现功能: 1、搜索制定目录下的本地视频,并显示缩略图及视频名称在列表上;2、点击播放指定视频或按顺序播放全部视频;3、包括进度条,播放和暂停键,时间显示等控件...
带有功能:播放、暂停、视频拖动,播放时长显示、全屏、恢复全屏、双击暂停/播放功能、保存播放记录继续播放等等。 相应的播客网址:https://blog.csdn.net/lpCrazyBoy/article/details/79842906