admin管理员组文章数量:1530842
2024年5月31日发(作者:)
基于Android平台网络收音机的设计与实现
孙晖;李君;李梦祺
【摘 要】本文从新媒体环境下广播发展策略出发,介绍了网络收音机的软件整体结
构,针对核心的系统主控管理模块、流媒体数据传输模块、音频解码模块这三个功
能模块进行详细的分析。
【期刊名称】《科技风》
【年(卷),期】2011(000)017
【总页数】1页(P61-61)
【关键词】网络收音机;Android;流媒体
【作 者】孙晖;李君;李梦祺
【作者单位】湖北广播电视总台,湖北武汉430000;湖北广播电视总台,湖北武汉
430000;湖北广播电视总台,湖北武汉430000
【正文语种】中 文
【中图分类】TP393.4
新媒体对于传统媒体产生的冲击是必然的。尽管传统广播从最初的调幅广播、调频
广播,经过近十年来的技术变革得以发展到数字音频广播,但是在新媒体环境下,
传统广播的发展仍面临着严峻的挑战。
传统广播在新媒体环境中要寻求发展,以下四方面已经达成共识:
1)采取媒体融合策略。融合互联网络、移动多媒体等新媒体资源,进一步拓展网
络广播的实时传播功能,进一步加强与听众的互动能力。
2)采取受众策略。针对不同听众的不同需求,对广播节目的形式和内容进行创新,
走专业化之路。
3)采取品牌策略。强化品牌建设与推广,以树立良好的媒体形象,逐步建立企业
统一化系统。
4)采取市场策略。通过探索性经营,有效整合广播资源,降低运营成本,探索广
播媒体发展新道路。
近年来,网络电台为传统广播找到了新的发展空间,它突破了传统广播的地域和时
间限制,并通过网络与听众建立起有效的沟通平台。听众不仅可以通过网络收音机
收听直播的节目,也可以点播存储在服务器上的节目。网络收音机将逐渐扮演传统
收音机的角色。借助网络收音机,能积极实现广播媒体发展的新策略。
目前,网络收音机有两种实现方式:一种是基于普通电脑的软件网络收音机;另一
种是基于嵌入式系统的硬件网络收音机。
随着3G网络和W IFI网络的普及,智能手机不但能实现通话功能,而且能够连接
无线W IFI网络,实现网络收音机的功能。因此,与基于普通电脑的网络收音机相
比,更具移动性;相对嵌入式硬件网络收音机更具性价比。
Android是基于Linux开放性内核的操作系统,该平台由操作系统、中间件、用
户界面和应用软件组成。本文将基Android平台,介绍网络收音机的软件设计与
实现。
网络收音机软件模块主要由三部分组成,分别是系统主控管理模块、流媒体数据传
输模块、音频解码模块。各模块主要功能介绍如下:
1)系统主控管理模块:是整个应用程序的核心,负责网络的初始化、流媒体协议
的解析、流媒体数据的接收控制及用户交互。
2)流媒体数据传输模块:调用开源LiveM edia库实现RTP/RTCP协议,完成网
络音频数据流的接收及控制。
3)音频解码模块:调用LIBMAD库,实现对流媒体数据传输模块获得的音频数据
的解码,然后将已解码的音视频数据发送给音频播放设备。
当启动网络收音机程序,软件将自动初始化设备硬件环境,然后配置软件系统相关
参数,主要是设置RTP/RTCP,RTSP协议,设置LIVE库的初始值;当选择或输
入流媒体地址,开始创建客户端到流媒体服务器的会话连接,发送及获取媒体描述
信息,进入主控播放控制界面。当点击播放按钮,系统将创建两个线程。一个是数
据接收线程,此线程将调用数据接收模块,从RTP数据帧中提取音频编码数据帧,
存入数据接收缓冲区;另一个是音频播放线程,该线程将初始化LIBMAD库,接
受数据解码缓冲区数据,进行解码,再将解码PCM数据写入音频设备,完成播放
过程。
流媒体数据传输模块的主要功能是解析RTSP协议,通过DESCRIBE、SETUP、
PLAY请求来获得音频数据格式,并将RTP包解包获得压缩音频帧数据,写入数
据接收缓冲区。本系统采用开源软件LIVE库来实现RTP/RTCP协议,包括
RTP/RTCP会话的建立、数据的接收。
开源软件LIVE库主要由4个基本的类组成,分别为:Basic Usage Environment、
Usage Environment、GroupSock 以及Live-Media。Basic Usage
Environment和Usage Environment负责任务的调度和环境的配置;Group
Sock负责socks套接字的创建以及相应信息(询问信息和数据信息)的发送和接
收;LiveM edia是整个工程的核心,负责rtsp、session(subsession)和
rtcpinstance的维持。
对于点播和直播,此处使用的是RTSP协议。下面介绍在实际应用中RTSP消息是
如何交互来完成点播或是直播功能的。具体消息交互过程如下:
1)手机上发送RTSP:DESCRIBE的消息给服务器,服务器处理其中的URL链接,
得到相应文件的SDP信息,附加在响应消息中返回给手机。如果此时服务器找不
到手机想要点播的文件,就会回应400的错误给手机,显示文件不存在。
2)手机根据收到的SDP的信息向服务器发送RTSP:SETUP消息,与服务器建立
连接。如果媒体文件包含音频和视频,就会有两次SETUP的交互消息。一个是音
频的信息,一个是视频的信息。如果交互成功,服务器会发送200的OK消息给
手机。
3)手机在SETUP消息执行成功后,会向服务器发送RTSP:PLAY的消息,要求
服务器开始发送数据。服务器在收到PLAY消息后,即会开始传送UDP/RTP包。
4)如果在播放过程中需要暂停,手机会发送RTSP:PAUSE的消息给服务器,服
务器在收到暂停消息后,即会停止发数据包,手机停止播放。如果需要继续播放,
手机只需要再发送RTSP:PLAY的消息给服务器,服务器根据暂停的位置继续开
始播放。
5)当播放完成后,手机会自动向服务器发送RTSP:TEARDOWN消息,当服务
器收到下线消息后,就会断开与手机的连接,释放所占用的资源。
解码模块的主要功能是首先将压缩编码的音频数据进行解码,然后发送给音频设备,
完成播放过程。考虑到开发成本和开发周期,本文使用LIBMAD库来实现音频文
件的解码。
MAD(libm ad)是一个开源的高精度MPEG音频解码库。LIBMAD提供24-bit
的PCM输出,完全是定点计算。使用libm ad提供的API,可以实现压缩音频数
据解码工作。
从新媒体环境下广播发展策略出发,通过移动流媒体客户端即网络收音机,能进一
步拓展网络广播的实时传播功能,进一步加强与听众的互动能力;针对不同听众进
行针对性的广播,满足听众的多样化需求;能促进品牌建设与推广,树立良好的媒
体形象,逐步建立企业统一化系统;能积极整合广播资源,降低运营成本,是探索
广播媒体发展道路的新尝试。
版权声明:本文标题:基于Android平台网络收音机的设计与实现 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1717154117a540089.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论