文件名称:基于libmad 的简单MP3流媒体播放器的实现.pdf
文件大小:262KB
文件格式:PDF
更新时间:2015-10-15 10:33:52
libmad mp3 流媒体播放器 linux
本文在 Fedora 5 Linux 下实现了一个基于 libmad 的 MP3 流媒体播放器。此 流媒体播放器可以播放基于 HTTP 1.1 协议传输的 MP3 流媒体数据。 基本原理是:从 HTTP 服务器获得 MP3 媒体信息,然后通过网络传输把 MP3 数 据以数据流的形式接收到 MP3 流媒体播放器客户端,由客户端通过 libmad 解 码 MP3 数据流,得到 PCM 音频数据,写入音频设备,播放音乐。本文的流媒体 播放器只是实现了必要的简单功能,没有考虑太多情况。比如,没有考虑实时播 放控制,这样的话就不能随意选取播放点进行播放。 本文的 MP3 流媒体播放器创建两个线程,使用两个缓冲区保存 MP3 数据,可以 一边下载数据,一边播放音乐。编译运行此 MP3 流媒体播放器需要安装 libmad (www.underbit.com/products/mad/) 以及 ALSA(Advanced Linux Sound Architecture) (http://www.alsa-project.org)相关的软件。ALSA包括4部分, 分别是 sound driver, sound library , sound utilities 以及 tools。至少 应该安装 sound driver, sound library 。编译程序时连接库的选项是:-lmad -lasound -lpthread。 本文的 MP3 流媒体播放器使用双缓冲区,一个是数据接收缓冲区,另一个是数 据解码缓冲区。