视频播放器制作
jwzhangjie
工作9年,游戏SDK开发4年
展开
-
Android本地视频播放器开发--ffmpeg解码视频文件中的音频(2)
在Android本地视频播放器开发--ffmpeg解码视频文件中的音频(1)中我们从视频文件中解码出音频,这一章中将使用OpenSL ES来播放解码的音频数据,首先关于OpenSL ES这里暂不介绍,可以查看官网以及NDK中samples下面的native-audio里面的文件,这里我也是扣取了其中的代码,我们播放音频的部分在上一章的基础上进行添加的,代码如下:#include #i原创 2013-06-08 15:33:57 · 15528 阅读 · 9 评论 -
智能电视TV开发---直播视频客户端结构设计和实现
在智能电视TV开发---客户端和服务器通信里面我们实现了客户端和服务端的简单通信,接下来我们做一个简单的客户端界面,来实现手机端来操控智能电视的TV端。一、存储视频的结构设计我们在做客户端的时候,通常是需要存储视频的相关信息,结构如下:package com.jwzhangjie.model;import android.os.Parcel;import android.os.P原创 2013-12-19 22:52:06 · 8758 阅读 · 5 评论 -
智能电视TV开发---手机直播视频客户端与智能电视通信
在智能电视TV开发---直播视频客户端结构设计和实现中,我们设计出了简单的客户端,这里这个客户端与智能电视上面的TV服务端进行通信,实现手机控制电视来播放节目。一、手机端UDP的client实现 在智能电视TV开发---客户端和服务器通信中我是使用PC端来做客户端与智能电视TV通信的,现在需要把PC端的代码移植到手机端就可以了,这一步很容易。代码如下:原创 2013-12-22 13:55:33 · 3506 阅读 · 0 评论 -
智能电视TV开发---输入框的迭代实现
在我们做项目的时候,经常要自定义组件,比如输入框EditText当输入内容后右边会有一个叉号的图标,点击可以清楚输入框的内容。比如登录框需要左边也有一个小图标让用户一看就是输入用户名的,其实要实现这个很容易,但是不同人的实现方法不一样,会导致你编写组件的实用性,接下来我会采用递增方式来实现,来实现不同阶段的扩展。一、删除输入框实现要实现带有删除输入框组件,我们要自定义,使用一个布局来嵌套E原创 2014-01-05 16:12:33 · 3788 阅读 · 0 评论 -
智能电视TV开发---圆角item封装成组件
在android客户端设置界面开发实例写过一个设置界面,但是不具有通用性,这里将使用一种方法来实现通用性样式。这里我们主要是通过TypedArray来实现自定义属性。一、TypeArray的介绍 这里使用网上一个例子,介绍一下TypeArray的基本使用。1.1、编写attrs.xml在res/values文件下面定义一个attrs.xml文件,代码如下:原创 2013-12-23 23:29:08 · 2321 阅读 · 0 评论 -
智能电视TV开发---如何实现程序省电
对于很多使用智能手机的用户来,很多抱怨手机耗电太快,很多人买手机的时候卖家都是推荐买两块电池,还有如果用户留心的话,在买手机的网页上,卖家会显示播放视频多长时间,听音乐多长时间,待机多长时间,不过看的最多的应该是他们说待机能够多长时间,今天写这篇文章是由于之前面试一家公司,老板问我如何说一个app算是一个好的程序,当时我给出了三点:1、界面UI 2、流畅度 3、处理耗时数据时,如何在UI上的体现。原创 2014-01-07 00:37:25 · 4150 阅读 · 0 评论 -
智能电视TV开发---录像
现在社交类程序很火,里面基本包含定位,IM,微视频,在智能电视TV的客户端也会提供录像功能,然后可以传送给智能电视播放,下面我们通过一个实例实现具备录像功能。由于手机很多都是定制系统,所以当我们设置摄像头参数的时候,提示设置失败,我试了两款手机,有的手机有问题,有的正常,所以再设置参数的地方加了try来捕获。首先看一下布局界面:<LinearLayout xmlns:android=原创 2014-01-11 01:18:22 · 3677 阅读 · 2 评论 -
智能电视TV开发---拍照+水印
在智能电视TV开发---录像 的基础上实现拍照功能同时修改了智能电视TV开发---录像 里面的预览竖屏的时候,预览图像旋转了90°的问题。其实录像部分我们既可以使用Android提供的MediaRecoder也可以自己来实现,实现方式与下面的拍照功能类似,要实现PreviewCallback这个接口,具体的代码如下:package com.jwzhangjie.smar原创 2014-01-11 13:25:50 · 3005 阅读 · 3 评论 -
智能电视TV开发---曲线图绘制
绘制曲线图有几个基本的元素:坐标轴,点,线,分清楚变化的和不变得,从而进行绘制,其实在智能电视TV开发---拍照+水印 中在拍照的图片上面绘制水印都是一样的原理,就是以一张图片为基准,取得srcBitmap的canvas,然后再使用canvas来把其他的内容绘制上去。网上也有几个开源的绘制图表的项目,但是具体到自己项目里面都不太适用。接下来我会用一个二手房房价行情的数据来绘制6个月内容的趋势图原创 2014-01-14 21:31:41 · 3187 阅读 · 0 评论 -
Android 用Animation-list实现逐帧动画
在处理耗时工作的时候,大多数会弹出一个加载的框,里面有一个连续旋转的图片,很多时候都是用一张图片,使用rotate来设定旋转,不过看起来不太美观,没有形象感,在3.0之前Android有两种动画效果分别是补间动画和帧动画,用一张图片实现的是使用补间动画,定义给出两个关键帧,通过一些算法将给定属性值在给定的时间内在两个关键帧间渐变。我个人比较倾向的是帧动画,不过这个需要美工的支持,还有一种方式就是通原创 2014-01-15 21:39:05 · 32486 阅读 · 4 评论 -
仿win8磁贴界面以及功能
做移动产品界面占很大的一部分,同时也是决定一款产品好的的重要因素,最近看见有人放win8的界面效果,搜了两款,一款是只是仿界面没有特效,另一款是自定义组件能够实现反转效果,今天分析一下这两类界面。仿win8界面win8磁贴类似九宫格效果,实现这种效果基本上有三种方式实现:LinearLayout,使用其属性layout_weight实现等分;TableLayout,做过计算器的人可能会用到原创 2014-01-25 09:57:36 · 11042 阅读 · 4 评论 -
Swift基础--ijkplayer编译
这篇与Swift基本上没有什么关系,不过之后会用到,这次编译是使用Mac编译IOS版本的,下面是编译流程,最后是整个项目的下载地址,因为下载太慢了。1、下载源码git clone https://github.com/bbcallen/ijkplayer.git 2、编译cd ijkplayer-ios-stable./init-ios.sh//这里下载依赖包./compile-ffmpeg.s原创 2014-10-19 21:58:46 · 5355 阅读 · 0 评论 -
智能电视TV开发---客户端和服务器通信
在做智能电视应用的时候,最头疼的就是焦点问题,特别是对于个人开发者,没有设备这是最最头疼的事情了,在没有设备的情况下,怎么实现智能电视应用呢,接下来我是用TV程序来做演示的,所以接下来的所有操作是在有网络的情况下,TV链接到一个路由器上面,做过开发的人都知道Socket编程分为两种一个是可靠传输的TCP,另一个是不可靠传输的UDP,TCP需要知道对方的IP才能实现,UDP虽然不可靠,但是它可以实现原创 2013-12-18 21:20:50 · 8560 阅读 · 6 评论 -
流媒体开发之-音悦台TV解析特定条件下的所有TV视频
整合流媒体开发之-音悦台TV解析和流媒体开发之-音悦台TV页码链接解析这两部分来实现解析音乐台特定条件的所有TV视频链接。package com.pigvideo.parser.yinyuetai;import com.pigvideo.model.YinYueTaiModel;import com.pigvideo.model.YinYueTaiPageModel;import o原创 2013-12-08 00:33:04 · 28982 阅读 · 0 评论 -
流媒体开发之-音悦台TV页码链接解析
在前面的流媒体开发之-音悦台TV解析中解析了某一个页的TV视频,但是里面有很多页,如果要解析所有的视频,首先要解析每一页视频的链接,下面解析音悦台的视频页的链接首先要明白的是网页里面给出的链接可能没有音悦台的域名,还有就是链接要分为几部分来组合,下面是我写的一个类来存储链接的package com.pigvideo.model;import java.io.Serializable;原创 2013-12-08 00:28:54 · 5271 阅读 · 0 评论 -
Android本地视频播放器开发--SDL编译
在上一章 Android本地视频播放器开发--ffmpeg解码视频文件中的音频(2)中使用OpenSL ES来播放视频的声音,遗留的问题是声音的不同步,由于视频实现部分也要同步,而且音视频也要同步,所以音频部分就不单独同步问题,当同时播放音视频的时候进行两者的同步问题,对于视频显示部分最后是要使用OpenGL es来实现,由于SDL可以和OpenGL ES进行搭配,所以使用SDL+Op原创 2013-06-13 12:12:31 · 16572 阅读 · 7 评论 -
Android本地视频播放器开发--搜索本地视频(2)
在Android本地视频播放器开发--搜索本地视频(1)中我们获取了本地视频的数据,在这一章里面,我们将获取的数据通过LIstView来动态的实现出来。1、首先介绍布局代码,主布局代码只含有一个LIstView --jie_video.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android原创 2013-06-05 09:36:05 · 24220 阅读 · 20 评论 -
Android本地视频播放器开发--搜索本地视频(1)
这一章的主要内容是搜索手机本地视频,添加到ListView列表里,每一个表项含有这个视频的缩略图,视频的播放时间,视频的标题,在搜索本地视频(1)中我们先制作搜索功能。Video.java--视频相关的属性类package com.zhangjie.graduation.videopalyer.videofile;import java.io.Serializable;import原创 2013-06-05 09:22:13 · 21666 阅读 · 16 评论 -
Android本地视频播放器开发--NDK编译FFmpeg
在Android本地视频播放器开发中的搜索本地视频章节中,我们能够搜索本地视频并且显示每个视频的图片、标题、时间长度,当然如果需要添加其他的例如视频的长度和宽度可以使用Video类中的方法,既然我们获取到视频后,那么接下来就是解码视频,解码视频我使用的是ffmpeg,所以这张就是使用NDK编译手机可以使用的FFmpeg库。首先到官网http://ffmpeg.org/download.html原创 2013-06-06 13:23:13 · 20398 阅读 · 17 评论 -
Android本地视频播放器开发--ffmpeg解码视频文件中的音频(1)
在上一章中Android本地视频播放器开发--NDK编译FFmpeg能够获取编译出来的ffmpeg库,接下来就是调用ffmpeg来实现解码,这里我们先解码音频,然后在播放音频,同时为了适应性我会用不同的方法进行播放例如使用Android提供的AudioTrack,SDL、OpengAL,OpenSL ES,最终合入视频播放器的是OpenSL ES,这样可以减少CPU的利用率。接下来在这一章中,原创 2013-06-07 13:00:53 · 19001 阅读 · 19 评论 -
Android本地视频播放器开发--视频解码
在上一章Android本地视频播放器开发--SDL编译编译中编译出sdl的支持库,当时我们使用的2.0,但是有些api被更改了,所以在以下的使用者中我们使用SDL1.3的库,这个库我会传上源码以及编译出的库,接下来这张我们使用ffmpeg解码视频文件中的视频帧同时使用SDL去显示。1、Decodec_Video.c 这是我视频解码的文件,其中内容如下:#include #include原创 2013-06-17 13:49:42 · 19258 阅读 · 17 评论 -
Android本地视频播放器开发--简易播放器原型
在以前的基础上,将音视频进行合并,音频播放采用OpenSL ES,视频播放采用OpenGL ES2.0进行显示,这次的版本其中音频和视频是在同一个线程,会造成音频断断续续,后续会采用音频使用SDL,视频采用SDL+OpenGL ES2.0,这部份代码会在之后开源,现在只提供库用来测试。可以使用git clone https://github.com/jwzhangjie/Graduation.gi原创 2013-06-19 13:29:05 · 22333 阅读 · 11 评论 -
VLC视频播放器开发--VLC for Android编译
VLC播放器是一款优秀的开源播放器,可以播放MPEG-1、MPEG-2、MPEG-4、DivX、DVD/VCD、数字卫星频道、数字地球电视频道(digital terrestial television channels)、在许多作业平台底下透过宽频 IPv4、IPv6网络播放线上影片。此软件开发项目是由法国学生所发起的,参与者来自于世界各地,设计了多平台的支持,可以用于播放网络串流及本机多媒体档原创 2013-06-22 12:37:47 · 6512 阅读 · 0 评论 -
开源的Android视频播放器
之前尝试自己解码视频,然后播放显示,虽然音视频都可以播放,但是实现不了音视频的同步,所以使用第三方的视频库Vitamio来实现视频播放器功能,这样自己只需要实现播放解码的制作不不要关心底层解码和显示问题。是使用Vitamio 4.0,制作的视频播放器,后续会继续添加直播,网络播放功能。实现的主要功能:1.搜索本地视频文件2.使用ListView显示本地视频的缩略图,文件名称,播放时间原创 2013-07-19 14:13:51 · 72657 阅读 · 53 评论 -
开源的Android视频播放器--更新主界面,添加网页浏览
在开源的Android视频播放器的基础上添加新的主界面,并且添加网页浏览功能开源代码:https://github.com/jwzhangjie/JwZhangJie.git 新功能: 1.更新主界面,可以动态转动圆盘,然后点击选择的图标,实现功能 2.添加网页浏览功能,在网页界面点击back,页面实现回退,如果不能回退,则返回到主界面,待续功能:使用音量键实现网页的回原创 2013-07-21 20:48:47 · 25154 阅读 · 14 评论 -
流媒体开发之-音悦台TV解析
由于工作问题写博客不能连贯,很多个人开发者开发播放器的时候,基本上都是提供播放功能,没有提供网上资源,比较维护是很麻烦的,我们可以使用网上资源,最近业余在搞音乐部分,对于资源部分我也是使用网上现有的资源,比如音悦台里面有很多TV,我们可以解析他们的网页内容。下面就是解析其中一个网页的TV首先确定你TV要实现的内容,封装一个类内容如下:package com.pigvideo.model;原创 2013-12-07 15:02:48 · 17332 阅读 · 1 评论 -
IOS 获取设备本地音视频
1、检索音视频PHFetchOptions *allPhotosOptions;@property (nonatomic, strong) PHFetchResult *assetsFetchResults;if (allPhotosOptions == nil) { allPhotosOptions = [[PHFetchOptions alloc] init];原创 2016-03-13 22:09:46 · 5861 阅读 · 0 评论