机顶盒mp3流媒体混音的方法技术

技术编号:7472540 阅读:334 留言:0更新日期:2012-07-02 18:17
本发明专利技术涉及机顶盒领域,本发明专利技术公开了一种机顶盒mp3流媒体混音的方法,其包括以下步骤:步骤1数据下载进程;步骤2数据解码进程:获取可解码的mp3数据缓冲区,并获取可使用的pcm数据缓冲区,将mp3数据解码到pcm数据缓冲区中;将解码后的mp3数据缓冲区指派给数据下载进程,将pcm数据缓冲区指派给pcm注入进程,并申请下一个可解码的mp3数据缓冲区;步骤3pcm注入进程。本发明专利技术的方法通过多进程共享内存实现数据缓存,同时分段下载mp3数据,减少内存的占用,对共享内存的访问和保护采用指派方式,减少数据拷贝,提高效率。

【技术实现步骤摘要】

本专利技术涉及机顶盒领域,尤其涉及一种。技术背景IPTV即交互式网络电视,是一种利用宽带有线电视网,集互联网、多媒体、通讯等多种技术于一体;向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术。用户在家中可以有两种方式享受IPTV服务(1)计算机,(2)网络机顶盒+普通电视机。它能够很好地适应当今网络飞速发展的趋势,充分有效地利用网络资源。随着IPTV产业的壮大, 用户对IPTV网络机顶盒的应用要求也越来越高,mp3播放、游戏等成为必需的功能,混音是网页浏览、游戏等功能实现中不可或缺的部分。混音使用的背景音乐文件较大,不能全部下载到机顶盒中解码。从网络下载数据比播放本地文件环境更复杂,既要保证播放流畅又要受机顶盒资源的限制,同时要兼容一般的mp3音乐播放,原来的机顶盒MP3播放方式显然不能满足要求。
技术实现思路
本专利技术的目的是针对上述现有技术中的机顶盒mp3播放方法存在混音难的技术问题,提供一种。本专利技术的目的通过下述技术方案来实现一种,其包括以下步骤步骤1数据下载进程建立网络连接,发送http请求并解析http服务器返回的响应, 获取可使用的mp3数据缓冲区,mp3数据缓冲区接收数据并进行填充,mp3数据缓冲区填充满后,将mp3数据缓冲区的使用权指派给数据解码进程,并申请下一个可使用的mp3数据缓冲区;步骤2数据解码进程获取可解码的mp3数据缓冲区,并获取可使用的pcm数据缓冲区,将mp3数据解码到pcm数据缓冲区中;将解码后的mp3数据缓冲区指派给数据下载进程,将pcm数据缓冲区指派给pcm注入进程,并申请下一个可解码的mp3数据缓冲区;步骤3 pcm注入进程获取可使用的pcm数据缓冲区,将pcm数据送到音频播放设备, 将Pcm数据缓冲区指派给解码进程,并申请下一个可使用的pcm数据缓冲区。优选地,在pcm注入进程中,将所有有使用权的数据缓冲区连成一块。优选地,当最后一个数据缓冲区遗留有不到一帧数据时,将这部分数据拷贝到第一个数据缓冲区中,与后续有使用权的数据缓冲区连成一块。优选地,所述步骤2数据解码进程中,对mp3数据进行解码基于Iibmad库。本专利技术的有益效果本专利技术通过网络传输把mp3数据以数据流的形式接收到机顶盒解码端,解码mp3数据流,得到pcm音频数据,多路pcm同时写入音频设备,播放音乐, 实现混音。混音的各路mp3播放采用相同方式,相互独立的进程,实现多路mp3同时播放并提供单路mp3播放控制功能。本专利技术的方法通过多进程共享内存实现数据缓存,同时分段下载mp3数据,减少内存的占用,对共享内存的访问和保护采用指派方式,减少数据拷贝,提高效率。附图说明图1为mp3流媒体混音的过程。图2为本专利技术的mp3流媒体混音的方法。具体实施方式下面结合具体实施例和附图对本专利技术作进一步的说明。图1为mp3流媒体混音的过程。如图1所示,将两路以上pcm流由一路pcm输出, pcm的来源为http服务器提供的mp3流解码出的数据。图2为本专利技术的,其包括以下步骤步骤1数据下载进程建立网络连接,发送http请求并解析http服务器返回的响应, 获取可使用的mp3数据缓冲区,mp3数据缓冲区接收数据并进行填充,mp3数据缓冲区填充满后,将mp3数据缓冲区的使用权指派给数据解码进程,并申请下一个可使用的mp3数据缓冲区;步骤2数据解码进程获取可解码的mp3数据缓冲区,并获取可使用的pcm数据缓冲区,将mp3数据解码到pcm数据缓冲区中;将解码后的mp3数据缓冲区指派给数据下载进程,将pcm数据缓冲区指派给pcm注入进程,并申请下一个可解码的mp3数据缓冲区;步骤3 pcm注入进程获取可使用的pcm数据缓冲区,将pcm数据送到音频播放设备, 将Pcm数据缓冲区指派给解码进程,并申请下一个可使用的pcm数据缓冲区。本专利技术通过网络传输把mp3数据以数据流的形式接收到机顶盒解码端,解码 mp3数据流,得到pcm音频数据,多路pcm同时写入音频设备,播放音乐,实现混音。混音的各路mp3播放采用相同方式,相互独立的进程,实现多路mp3同时播放并提供单路mp3播放控制功能。本专利技术的方法通过多进程共享内存实现数据缓存,同时分段下载mp3数据,减少内存的占用,对共享内存的访问和保护采用指派方式,减少数据拷贝,提高效率。优选地,在pcm注入进程中,将所有有使用权的数据缓冲区连成一块。所有缓冲区可看做分割的小块,也可看做是整块。生产者按分割的小块生产,而消费者则将可使用的小块连接成一片使用。在pcm数据注入时,底层数据的注入只关注起始地址,作为整块注入时效率明显提高,这种方式更显现出其优势。优选地,当最后一个数据缓冲区遗留有不到一帧数据时,将这部分数据拷贝到第一个数据缓冲区中,与后续有使用权的数据缓冲区连成一块。优选地,上述步骤2数据解码进程中,对mp3数据进行解码基于Iibmad库。Iibmad 是一个开源的高精度MPEG音频解码库,支持MPEG-I (Layer I,Layer II和LayerIII (也就是mp3)。Iibmad提供Μ-bit的pcm输出,完全是定点计算,非常适合没有浮点支持的平台上使用。使用Iibmad提供的一系列API,就可以非常简单地实现mp3数据解码工作。以上上述仅为本专利技术的较佳实施例而已,并不用以限制本专利技术,凡在本专利技术的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本专利技术的保护范围之内。权利要求1.一种,其包括以下步骤步骤1数据下载进程建立网络连接,发送http请求并解析http服务器返回的响应, 获取可使用的mp3数据缓冲区,mp3数据缓冲区接收数据并进行填充,mp3数据缓冲区填充满后,将mp3数据缓冲区的使用权指派给数据解码进程,并申请下一个可使用的mp3数据缓冲区;步骤2数据解码进程获取可解码的mp3数据缓冲区,并获取可使用的pcm数据缓冲区,将mp3数据解码到pcm数据缓冲区中;将解码后的mp3数据缓冲区指派给数据下载进程,将pcm数据缓冲区指派给pcm注入进程,并申请下一个可解码的mp3数据缓冲区;步骤3 pcm注入进程获取可使用的pcm数据缓冲区,将pcm数据送到音频播放设备, 将pcm数据缓冲区指派给解码进程,并申请下一个可使用的pcm数据缓冲区。2.如权利要求1所述的,其特征在于在pcm注入进程中, 将所有有使用权的数据缓冲区连成一块。3.如权利要求2所述的,其特征在于当最后一个数据缓冲区遗留有不到一帧数据时,将这部分数据拷贝到第一个数据缓冲区中,与后续有使用权的数据缓冲区连成一块。4.如权利要求1至3其中之一所述的,其特征在于所述步骤2数据解码进程中,对mp3数据进行解码基于Iibmad库。全文摘要本专利技术涉及机顶盒领域,本专利技术公开了一种,其包括以下步骤步骤1数据下载进程;步骤2数据解码进程获取可解码的mp3数据缓冲区,并获取可使用的pcm数据缓冲区,将mp3数据解码到pcm数据缓冲区中;将解码后的mp3数据缓冲区指派给数据下载进程,将pcm数据缓冲区指派给pcm注入进程,并申请下一个可解码的mp3数据缓冲区;步骤3pcm注入进程。本专利技术的方法通过多进程共享内存实现数据缓存,同时分段下载mp3数据,减少内存的占用,对共享内存的访问和保护采用指派方式,减少数据拷本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:袁娟申及唐勇
申请(专利权)人:四川九洲电器集团有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术