广告机的例子(播放视频)
2016-06-15 09:25
309 查看
突然接到的需求,东平西凑的广告机,可以实现循环播放本地视频。
MainActivity
网上抄的全屏的VideoView。
public class FullScreenVideoView extends VideoView {
}
“`
MainActivity
requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置全屏 setContentView(R.layout.activity_main); videoView = (FullScreenVideoView) findViewById(R.id.video_view); /** * VideoView控制视频播放的功能相对较少,具体而言,它只有start和pause方法。为了提供更多的控制, * 可以实例化一个MediaController,并通过setMediaController方法把它设置为VideoView的控制器。 */ videoView.setMediaController(new MediaController(this)); videoUri = Uri.parse("/sdcard/" + "2.mp4"); videoView.setVideoURI(videoUri); videoView.start(); videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { mp.start(); mp.setLooping(true); } }); videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { videoView.setVideoURI(videoUri); videoView.start(); } });
网上抄的全屏的VideoView。
public class FullScreenVideoView extends VideoView {
private int videoWidth; private int videoHeight; public FullScreenVideoView(Context context) { super(context); } public FullScreenVideoView(Context context, AttributeSet attrs) { super(context, attrs); } public FullScreenVideoView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int width = getDefaultSize(videoWidth, widthMeasureSpec); int height = getDefaultSize(videoHeight, heightMeasureSpec); if (videoWidth > 0 && videoHeight > 0) { if (videoWidth * height > width * videoHeight) { height = width * videoHeight / videoWidth; } else if (videoWidth * height < width * videoHeight) { width = height * videoWidth / videoHeight; } } setMeasuredDimension(width, height); } public int getVideoWidth() { return videoWidth; } public void setVideoWidth(int videoWidth) { this.videoWidth = videoWidth; } public int getVideoHeight() { return videoHeight; } public void setVideoHeight(int videoHeight) { this.videoHeight = videoHeight; }
}
“`
相关文章推荐
- 性能分析框架和性能监控平台
- java垃圾回收算法之-分代收集
- 彻底删除nginx
- leetcode No2. Add Two Numbers
- 链表程序
- 现代银行集中式业务系统及数据整合
- HTML5炫酷的特效代码下载
- Ubuntu安装JDK8
- 树莓派的播放器omxplayer
- 不用缩进的python
- dubbo--zookeeper面试中问题解答
- SAP表和字段
- java string与date类型转换
- linux下dos环境和unix环境转换
- php设计模式-装饰器模式
- Photoshop中的抠图工具
- Linux下用gcc/g++生成静态库和动态库
- 数据库中间件__mycat
- eclipse 配置tomcate无法输入server name解决
- Python3 函数式编程