VLC学习相关

来源:互联网 发布:如何更改淘宝登录名 编辑:程序博客网 时间:2024/05/15 05:50


1、BitmapCache工具类

<span style="white-space:pre"></span>BitmapCache cache = BitmapCache.getInstance();            cover = cache.getBitmapFromMemCache(R.drawable.icon);            if (cover == null) {                cover = BitmapFactory.decodeResource(v.getResources(), R.drawable.icon);                cache.addBitmapToMemCache(R.drawable.icon, cover);            }
注意在Application中的onLowMemory中做清除缓存动作

2、视频播放页面VideoPlayerActivity

1)setOnSystemUiVisibilityChangeListener

android4.0以后可以通过这个来控制 虚拟按键等系统UI

2)IPlayerControl接口

public interface IPlayerControl {    void setState(boolean isPlaying);    void setOnPlayerControlListener(OnPlayerControlListener listener);}
IPlayerControl定义了播放控制相关的接口,由PlayerControlWheel实现,最终由VideoPlayerActivity的布局文件容器addView完成页面的显示

总结:

在复杂的布局中,可以把易聚合的部分抽成一个模块,可以采用两种方式,

1)布局的方式在主布局中以include标签包含进去;

2)自定义view,在主xml中预留容器Framelayout,然后再代码中找到该容器addView进去

这种方式可以根据配置动态适配风格,封装细节,统一外部接口,然后通过addView方法加入主页面,也可以当做接口来使用。

3)刷新infobar进度

<span style="white-space:pre"></span>case SHOW_PROGRESS:                    int pos = activity.setOverlayProgress();                    if (activity.canShowProgress()) {                        msg = obtainMessage(SHOW_PROGRESS);                        <span style="color:#ff0000;">sendMessageDelayed(msg, 1000 - (pos % 1000));</span>                    }                    break;
3、关于界面AboutActivity

其中“授权许可”页面是采用webView+.html+assets实现的。当静态页面实现较繁琐时,可以考虑网页的思路。

<span style="font-family: Arial, Helvetica, sans-serif;"><string name="about_link" translatable="false">        <a href="http://www.videolan.org/vlc/">http://www.videolan.org/vlc/</a></string></span>





0 0