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,可以实现压缩音频数

据解码工作。

从新媒体环境下广播发展策略出发,通过移动流媒体客户端即网络收音机,能进一

步拓展网络广播的实时传播功能,进一步加强与听众的互动能力;针对不同听众进

行针对性的广播,满足听众的多样化需求;能促进品牌建设与推广,树立良好的媒

体形象,逐步建立企业统一化系统;能积极整合广播资源,降低运营成本,是探索

广播媒体发展道路的新尝试。

本文标签: 网络广播收音机模块媒体