最近因公司项目要求需要写一个播放器,自带的又不太好用,也不太好看。自能自定义啦。查看了很多资料,都没有完善的,还好得以为前辈的指点得以完成,感谢Yang。本篇里面我有可能有些地方写得不好(都附上了注释)。希望各路大神指点,虚心受教。
先来个图(源码在后面附上)
视频列表里面的数据是本地的,如果你需要使用网络的只需要在此获取服务器的数据展示就行了。播放页面在后面。
package com....
分类:
移动开发 时间:
2016-07-13 23:24:51
阅读次数:
291
IInterface接口是所有涉及到Binder接口的基类,通常情况下,当我们定义一个继承了Binder类的子类的时候,该子类一定要实现一个继承了IInterface接口的接口(有的时候也可以直接用子类去实现IIterface接口)。IInterface接口里边只有一个待实现方法asBinder方法,用于返回与当前接口相关联的Binder的对象。这样太抽象不好理解,让我们跟着步骤一个一个来:...
分类:
其他好文 时间:
2016-07-13 23:21:13
阅读次数:
376
解决WebView的定位功能、视频全屏播放、下载功能、页面Url的处理、进度条处理
事先说明:
定位功能在安卓6.0需要用户手动确认权限后才能使用
若需在安卓6.0适配WebView的定位功能,则需要在WebView中手动增加用户权限访问
详细可百度安卓6.0权限管理系统,或者采用第三方封装好的权限管理类进行编写(如Bmob)
如果对内容不理解的话,可参考最后的整个类...
分类:
移动开发 时间:
2016-07-13 23:20:54
阅读次数:
397
面向过程:是分析出解决问题所需的步骤,从上往下步步求精,自顶向下的编程,最重要的是模块化思想,考虑实际的实现
优点:性能高
面向对象:以事物为中心,将事物高度抽象为对象,对象包括属性与行为。
优点:易重用、易扩展、易维护、适合大型项目...
分类:
编程语言 时间:
2016-07-13 23:22:33
阅读次数:
188
1.生命周期
场景演示 : 切换到该Fragment
11-29 14:26:35.095: D/AppListFragment(7649): onAttach
11-29 14:26:35.095: D/AppListFragment(7649): onCreate
11-29 14:26:35.095: D/AppListFragment(7649): onCreateView...
分类:
移动开发 时间:
2016-07-13 23:22:47
阅读次数:
259
英文原文:Imperative vs Declarative
先统一一下概念,我们有两种编程方式:命令式和声明式。
我们可以像下面这样定义它们之间的不同:
命令式编程:命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。
声明式编程:告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。
声明式编程和命令式编程的代码例子举个简单...
分类:
其他好文 时间:
2016-07-13 23:22:23
阅读次数:
175
LeetCode 第 73 题 (Set Matrix Zeroes)
Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.
Follow up:
Did you use extra space?
A straight forward sol...
分类:
其他好文 时间:
2016-07-13 23:21:18
阅读次数:
139
第三章 虚拟内存
作者:Allen B. Downey
原文:Chapter 3 Virtual memory
译者:飞龙
协议:CC BY-NC-SA 4.0
3.1 简明信息理论
比特是二进制的数字,也是信息的单位。一个比特有两种可能的情况,写为0或者1。如果是两个比特,那就有四种可能的组合,00、01、10和11。通常,如果你有b个比特,你就可以表示2
**...
分类:
其他好文 时间:
2016-07-13 23:22:31
阅读次数:
195
一:背景
平衡二叉树(又称AVL树)是二叉查找树的一个进化体,由于二叉查找树不是严格的O(logN),所以引入一个具有平衡概念的二叉树,它的查找速度是O(logN)。所以在学习平衡二叉树之前,读者需要了解二叉查找树的实现,具体链接:二叉查找树
那么平衡是什么意思?我们要求对于一棵二叉查找树 ,它的每一个节点的左右子树高度之差不超过1。(对于树的高度的约定:空节点高度是0;叶子节点高度是1。...
分类:
编程语言 时间:
2016-07-13 23:22:38
阅读次数:
210
Formula
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1200 Accepted Submission(s): 415
Problem Description
You are expected ...
分类:
其他好文 时间:
2016-07-13 23:22:41
阅读次数:
153
如果要查看配置文件中的一些选项,则可以登录psql后 使用 命令来查看;
show 选项名;
show all; #查看所有数据库参数的值
主要选项:
选项
默认值
说明
是否优化
原因
max_connections
100
允许客户端的最大并发连接数目
否
因为在测试的过程...
分类:
数据库 时间:
2016-07-13 23:20:16
阅读次数:
299
转载请注明出处:勿在浮沙筑高台http://blog.csdn.net/luoshixian099/article/details/51897538图的遍历就是从图中的某个顶点出发,按某种方法对图中的所有顶点访问且仅访问一次。为了保证图中的顶点在遍历过程中仅访问一次,要为每一个顶点设置一个访问标志。通常有两种方法:深度优先搜索(DFS)和广度优先搜索(BFS).这两种算法对有向图与无向图均适用。...
分类:
编程语言 时间:
2016-07-13 23:19:01
阅读次数:
415
页面上刚好有EditText 而此时焦点在EditText上 我们点击button时会出现这种情况:
第一次点击好像是获取焦点,第二次才是点击事件
xml文件中button增加android:focusableInTouchMode="false"...
分类:
移动开发 时间:
2016-07-13 23:18:36
阅读次数:
240
前一篇文章我们介绍了Android中直播视频技术的基础大纲知识,这里就开始一一讲解各个知识点,首先主要来看一下视频直播中的一个重要的基础核心类:ByteBuffer,这个类看上去都知道了,是字节缓冲区处理字节的,这个类的功能非常强大,也在各个场景都有用到,比如网络数据底层处理,特别是结合网络通道信息处理的时候,还有就是后面要说到的OpenGL技术也要用到,当然在视频处理中也是很重要的,因为要处理视...
分类:
移动开发 时间:
2016-07-13 23:21:05
阅读次数:
290
1、概述控件基于android-Ultra-Pull-to-Refresh做的header定制,继承PtrFrameLayout,把事件分发给里面的RadioGroup,所以两个自定义控件分别叫HoynPtrFrameLayout,HoynRadioGroup。 因为需要PtrFrameLayout里面的一些私有属性:mPtrIndicator,mScrollChecker,所以把PtrFrameL...
分类:
移动开发 时间:
2016-07-13 23:19:25
阅读次数:
403
前面几章讲解了使用nginx-rtmp搭建直播流媒体服务器,以及使用ffmpeg推流到nginx-rtmp服务器,java通过命令行调用ffmpeg实现推流服务,后端的事情到这里就已经全部完成了。本章讲一下播放器的选用和二次开发,前端的播放器虽然有flex(flash)可以用,但是很遗憾flex接触的并不多,学习成本又太高,那么基于第三方开源的flash播放器二次开发就显得很有必要。
一、几种播放器选择
1、videoJS
对于HTML5支持非常棒,可以自动在flash和html5播放器之间进行切换,不过遗...
分类:
Web程序 时间:
2016-07-13 23:17:53
阅读次数:
455
前言:
第一次接触RxJava是在前不久,一个新Android项目的启动,在评估时选择了RxJava。RxJava是一个基于事件订阅的异步执行的一个类库。听起来有点复杂,其实是要你使用过一次,就会大概明白它是怎么回事了!为是什么一个Android项目启动会联系到RxJava呢?因为在RxJava使用起来得到广泛的认可,又是基于Java语言的。自然会有善于组织和总结的开发者联想到Android!没...
分类:
编程语言 时间:
2016-07-13 23:16:04
阅读次数:
328