【Android论文栏目提醒】:网学会员,鉴于大家对Android论文十分关注,论文会员在此为大家搜集整理了“基于Android系统的Upnp媒体播放器的研究与设计 - 会议论文”一文,供大家参考学习!
基于Android系统的Upnp 媒体播放器的研究与设计 张 拮 南京邮电大学通信工程,南京,210003 摘要在数字家庭网络(DLNA)的实现中,Upnp是其中一个主流的实现协议,它实现了嚼络内 设备零配置,并且在此基础之上提供了联网设备之间的发现、接口声明、信息交换等功能。
本文首 先介绍了Upnp的架构。
描述了基于Android系统的Upnp媒体播放器的基本思想;并利用开源 Cling库实现了Upnp架构作为基础,在此基础之上根据Android系统的一些媒体接口的功能,实现 了基于Android系统的Upnp网络媒体播放器,并介绍了各部分实现的细节。
关键词Upnp,Android,媒体播放,网络设备,数字家庭l Android系统上Upnp媒体播放器的基本思想1.1功能描述 UPnP网络媒体播放器可以从所接入的网络中获取发布出来的各种娱乐资源,同时也允许控制点对其进行控制。
此外。
根据所支持协议的不同,播放器也可以提供对数据流进行控制的功能。
一个标准的UPnP网络媒体播放器可以包含3项服务:播放控制服务、连接管理服务和媒体传输服务。
其中媒体传输服务是根据设备所支持的传输协议来实现的,我们实现的这个媒体播放器使用的是HTrP GET协议,因而可以对流媒体进行支持,从而实现断点播放。
在家庭网络之中,Android系统之上的媒体播放器的逻辑架构如图1所示。
我所设计的一个完整的基于Android媒体播放器逻辑上由两部分组成,Upnp协议栈实现部分以及底层Android所支持的多媒体接口部分。
Upnp协议栈的实现部分完成设备“零配置“入网,资源被感知,互相操作等数字家庭网络的基本功能。
而底层.Android所支持的多媒体接口部分则完成多媒体功能实现,包括播放/暂停音频或者视频等。
1.2过程描述 媒体播放器可以通过控制点的控制选择,在家庭网络内对提供多媒体资源的设备上的资源进行播放控制。
可以把整个交互流程为三个部分:多媒体服务器、控制点、多媒体播放器。
控制点通过在家庭网络内发送SSDP协议信息,发现接入网络内的一个或者多个媒体服务器和媒体播放器。
首先控制点通过多媒体服务器提供的内容目录服务来对资源进行定位,包括资源的一些相关信息,所在多媒体服务器所支持的传输协议,以及数据格式。
所有的相关 134 图1 Android系统多媒体播放设备逻辑结构参数信息都收集完整之后.就可以选择匹配的多媒体播放器来播放选中的多媒体资源。
这里 的匹配是指传输协议匹配,数据格式匹配。
在匹配完成之后,控制点便可以对传输的内容进行控制,比如:播放、暂停。
需要说明的一点是,控制点在信息传输交互过程中并没有实际参与,真正的数据传输是在多媒体服务器与多媒体播放器之间进行的,独立于控制点之外。
因此具体的内容传输使用的不是Upnp协议。
在本设计中所使用的传输协议为H1TP GET,所支持的数据格式为MP3。
当控制信息传送到多媒体播放器之后,媒体播放器中的Upnp协议栈实现部分将来自网络中的控制信息组装传递给下层Android系统的多媒体接口,通过多媒体接口接收处理Upnp协议栈解析之后的控制信息栗达到多媒体播放的功能。
2 Android系统上Upnp媒体播放器的实现方法 本设计使用Cling开源库来构建基本的Upnp协议架构,使用eclipse作为代码开发工具,代码实现语言为java。
其中协议处理模块,信息传输模块,XML解析模块由Cling—core生成。
具体实现流程如下。
2.1 Android系统配置 Android上的Upnp协议栈必须能够进入设备上的wifi接i:I,并且这是实际上被绑定的惟一的网络接口。
An出oM上的Upnp协议栈能够自动的检测无线模块是否关闭。
如图2所示2.2生成Upnp框架 使用Cling—core搭建Upnp框架,通过实现Upnp协议栈接口:UpnpServiceImpl()调用 135 <uses-pe珊Lssion
android:nameI。
android·permission·INTERNET-/> <uses-pe眦ssion∞dro工d:na皿et“
android.perlnisslon·ACCESs-WIFI—STATE。
/). <u,e3一permission
android:namet。
android·pe:T吐暑3-on·c舅ANG£..冀IF!—鼻旺刀二z工cAs!—5ZATE-,> .cu。
e5一pe眦。
5ian
android:na耻一
android·pezmisslon·AccEss-陋硼oRL51nE’/> <appllcaCion…> <activity…> ‘/-cc土Vi乞y> <seEvice
android:nalle·。
org·teleal.cling-androld.AndroldUpnpServicelmpl。
,> </applicacion> ‘/—‘n工fe3C,r 图2配置A.droidM8Ilifest.xndCling—Core中的模块,完成设备寻址,设备发现,设备控制,设备描述等功能。
以上功能组合在一起,为媒体播放器提供了Upnp的能力,当然开源Cling仅仅提供了一个Upnp的框架,调用Android多媒体接口需要的一些控制功能,缓存处理功能都需要后面完善。
2.3添加缓存函数与交互控制函数 根据Android系统上多媒体设备的接口,我们将其改造成为能够具有Upnp功能的网络多媒体播放器,必须要实现Upnp协议栈部分解析出来自网络内的控制信息,并且将控制信息经过处理包装成为本地多媒体接口能够识别的信息。
主要类/函数如下: public class DownloadClass()这是一个下载处理类,其中定义了许多缓存区,比如:publicFile oTempFile。
已经一些同步变量,控制程序流程,比如:public SyncClass sync,osync; private void DownFiles(URL uri)throws IOException:通过Upnp协议栈获取网络资源的Url,此函数的功能为定位所获取的ud,开启一个链接,以数据流的形式下载ud定位的多媒体服务器中的资源,并且存人一个缓存区(oTempFile)中。
public class MyMediaPlay()这是个类的功能为处理底层多媒体接口与上层Upnp协议栈信息交互,这个类本身作为一个参数传递给了上层的Upnp处理模块,当有信息需要调用底层多媒体接口的时候,Upnp协议栈就会调用此类中的play()函数,作为过度层类,他本身不实际完成任何功能,所做的就是将信息按照逻辑功能分派给具体操作的函数。
2.4播放/停止控制功能的实现 (1)获取传输地址 当控制点在网络多媒体服务器上定位了一首音乐时,再通过选择对应的网络多媒体播放器则会触发设置传输地址这个动作。
网络多媒体播放器获得了传输地址之后,就会调用Upnp协议栈中聚合的交互控制函数MyMediaPlay(),将传输地址传输给缓存函数,开始下载到缓存区。
(2)播放功能/停止功能的实现 播放功能是由网络控制点发起的,控制点可以选择播放选定的多媒体设备中的音乐,当播 136放控制信息被多媒体播放器收到时,同样会调用Upop协议栈中聚合的交互控制函数MyMedi·aPlay(),选择其中的play()功能,调用底层的多媒体接口,播放缓存区中的音乐文件,因为是流媒体的数据结构,所以不需要等待设备中的音乐下载完毕即可播放。
当控制点发起停止功能时,多媒体播放器收到停止信息,同样进入聚合的交互控制函数MyMediaPhy(),选择其中的stop()功能,调用底层的多媒体接口,停止播放音乐,与播放功能不同的是,当多媒体播放器停止时,必须删除正在播放的缓存区文件,防止多次播放后,缓存区拥塞。
3结束语 通过实际测试与分析,该多媒体播放器的Upnp协议栈功能与Android系统的多媒体接口能够相对有效地接合,基本实现了媒体播放器能够无缝接人数字家庭网络,并且能够完成控制点推送的一些基本功能,比如播放音乐、停止音乐。
但是,由于时间的问题以及个人考虑的不完善,此播放器也有很多不甚理想之处,比如:协议选择过于单一,目前只支持播放音频。
没有有好的界面,当播放器运行时,无法看见播放时间,播放进度等信息,这些运行时信息还没有处理展示。
这些问题将在随后的时间进一步改进。
参考文献〔1〕Xiaodong Wang,Xiangqian Ding,Haiyong Zhen孚Design and implementation of UPnP proto- col·-based integrated home media and power control system.Computer Science and Informa- tion Technology(ICCSIT),20103nt IEEE International Conference on Volume:8 Research on the Implementation of Upnp Media Player Based on Android System ZHANG Zhe College of Telecommunications&Information Eng迅咖,NanjiIlg Univemity of Posts&Telecommunications,Nanjing 210003 Abstract In the digital home network(DLNA)implementation,Upnp is o∞of the mail隧砸嫩璐of the protoc01.It implements zero—con69uration,which save8 the cost to setup the network。
and establishes a series of criterion for the connection,discovery and service description 0f digitaI devices.This paper first introduces the architecture of Upnp.Describes the basic ideas of Upnp media pIay盯’8 based on Android system.On this foundafion扯伽础ng to the Android system of some media interface function,based On the rea//盟tion of the Android system of upnp network media phyer,and introduoM the various parts of the implementation detalh. KeyWords UPnP,Android。
Network№,Media Render,DigitaI Family 137
上一篇:
基于Android的个性化校园地图服务设计
下一篇:
“台独”的渊源与实质(中)——兼论台湾问题的基本估计与中国统一的可能前景