查看完整版本: [-- APlayer 中间层例子源码 --]

APlayer 开发者论坛 -> APlayer 讨论区 -> APlayer 中间层例子源码 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

<<   1   2  >>  Pages: ( 2 total )

matrix 2014-07-28 20:25

APlayer 中间层例子源码

一、该例子实现的功能:
        APlayer 目前网络播放只支持 P2S 的 HTTP/FTP/RTMP/RTSP/MMS 等,如果要利用 APlayer 支持播放 P2P 以及BT/电驴/磁力链等更多的协议的播放,需要利用一个中间层来实现下载功能,
        下载后的数据通过一个本地 HTTP 流媒体服务向 APlayer 提供;
        本例实现了从远程服务器下载媒体数据并且缓存,然后APlayer再向中间层获取数据播放,
        例子的目的只在于通过 HTTP 来讲解中间层的实现逻辑,介绍中间层的写法框架而已,要支持其他协议还需要开发者自行添加代码,扩展实现

二、接口说明:
       本例的唯一接口:GetUrl,接口参数为视频文件的Url,格式形如http://f1.flv.kankan.xunlei.com/data/cdn_transfer/demo.hflv
       该接口返回一个本地地址Url2,接下来调用APlayer的Open方法并且以Url2作为参数即可;

三、例子实现思路说明:
       1) 首先接收到Url后立即向服务器获取视频文件信息,主要是视频文件大小信息,接着将用于监听的ListenSokcet加入到工作队列以等待APlayer的连接;
       2) 当收到APlayer的连接后,新建一个ServerSocket用于与APlayer之间进行通信,APlayer通过HTTP协议发送GET请求,ServerSocket解析GET请求后,
            如果请求数据段在缓存文件中,那么则从缓存文件读取;
            如果请求数据段没有在缓存文件中,那么新建一个ClientSocket从服务器获取数据,ClientSocket获取数据后缓存到本地文件

四、缓存机制说明:
       本例的缓存机制对文件的写入是采用成块写入,即每次只能写入一个完整的BLOCK,或者是视频文件结尾部分,每次从服务器端读入的数据根据字节位置计算出相应的块写入文件,
       对读取的数据则可以是任意位置。另外本例中的缓存文件最大大小为65536*64K=4G.

五、其他说明:
        本例只是作为一个例子,各方面的实现都相对简单,比如缓存文件名称,位置,http协议的处理,缓存文件大小修改等需要根据自己的需求进行修改。



w182291185 2014-08-02 00:39
不知道可否提供一个易语言的例子了?

w182291185 2014-08-02 00:44
很感谢提供这么好的例子,但是由于对C++语言的理解能力有限,不知可否提供一个易语言的例子参考?

373012089 2014-11-26 11:11
很好的东东 感谢ADMIN,希望论坛人气顶起来 不枉一番苦心

asd7946 2014-11-27 21:02
不错哦

guduyouxi 2014-12-11 01:18
可否提供一个易语言的例子了

w1021172562 2014-12-24 18:49
有没有易语言的例子啊

luyinhu 2015-02-07 17:58
              

maiju 2015-03-09 12:44
中间层不支持重定向后的地址

834125268 2015-05-20 01:57
小手一抖,资源拿走

sunkejava 2015-06-01 14:18
看看怎么样!!

huangfine 2015-06-17 00:50
下载来学习一下,谢谢分享源码!

tianxao 2015-11-13 16:28
   这个实用

xiangyabing 2015-11-15 23:55
很感谢提供这么好的例子,但是由于对C++语言的理解能力有限,不知可否提供一个易语言的例子参考?

917696540 2015-11-26 12:23
要下载?不是直接播放的吗

jhai 2015-11-26 16:05
不知道可否提供一个易语言的例子了?

chenyw101 2015-11-28 00:41
值得一看

917696540 2015-12-03 01:16
不知道可否提供一个易语言的例子了?

liufaping 2015-12-13 16:25
         看不懂C

hibernate 2015-12-30 17:21
谢了

qaaoo 2016-01-13 15:38
小手一抖,资源拿走

qinyon 2016-01-16 15:55
Player 中间层例子源 看看是否可以

yaoxiaota 2016-02-11 08:39
有易语言例子吗

x3325426 2016-02-17 10:01
看看···········

shaoxie1986 2016-03-09 00:04
这个可是好东西。

rieon 2016-03-09 22:31
不错 不错

ahhswl 2016-03-19 12:08
        

retn 2016-03-26 03:15
易语言的例子啊

784658970 2016-03-30 15:45
非常感谢 支持一下

wuzhijie 2016-04-14 13:59
太好了,正好研究网络播放,非常感谢!

潇洒人生 2016-04-17 14:58
看看

潇洒人生 2016-04-21 15:25
不知道可否提供一个易语言的例子了

潇洒人生 2016-04-23 11:51
看看

aa1268 2016-05-01 10:59
求易语言例子

shenxk 2016-05-07 13:33
看看是什么。

ljzhanghaohh 2016-05-18 11:36

kuyang 2016-05-22 20:57
没有支持库

tom 2016-05-26 14:07
十五字十五字十五字十五字十五字

xianren 2016-06-26 11:27
学习了  

chmise 2016-07-14 22:39
值得学习下

静爱 2016-08-02 21:55
有没有C#的


hanyaqi 2016-08-16 22:54

天堂牧心 2016-08-24 22:10
不知道可否提供一个易语言的例子了?

772379779 2016-09-07 15:11
gggggggggggggggggg

2206794103 2016-10-05 21:59
学习一下哈哈顶顶顶顶到顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

penguinl 2016-11-02 03:50
感谢分享,好好学习下!

蚊小子 2016-11-18 17:41
我就看看

gmaple 2016-11-22 09:52
学习一下,看看怎么样

chift 2016-12-13 20:00
很感谢提供这么好的例子,但是由于对C++语言的理解能力有限,不知可否提供一个易语言的例子参考?

fengtao222 2016-12-14 01:34
Re:APlayer 中间层例子源码


查看完整版本: [-- APlayer 中间层例子源码 --] [-- top --]


Powered by phpwind v8.7 Code ©2003-2011 phpwind
Time 0.016764 second(s),query:0 Gzip enabled