CN108366291A - 一种音频播放中的音频解码策略 - Google Patents
一种音频播放中的音频解码策略 Download PDFInfo
- Publication number
- CN108366291A CN108366291A CN201810165911.8A CN201810165911A CN108366291A CN 108366291 A CN108366291 A CN 108366291A CN 201810165911 A CN201810165911 A CN 201810165911A CN 108366291 A CN108366291 A CN 108366291A
- Authority
- CN
- China
- Prior art keywords
- audio
- file
- plays
- format
- play
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
- H04N21/4398—Processing of audio elementary streams involving reformatting operations of audio signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
- H04N21/4392—Processing of audio elementary streams involving audio buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
- H04N21/4394—Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明涉及一种音频播放中的音频解码策略,步骤如下:获取音频播放必要信息,解析其中的音频文件的音频格式;访问音频文件的获取地址,解析音频文件的音频格式,存储为临时音频格式;对比音频播放必要信息中的音频文件的音频格式及临时音频格式,如不同,则执行矫正音频格式处理,得到修正后的音频格式,如相同,则跳过矫正音频格式处理;获取设备播放权限;获取音频信息和音频数据流;在获取音频数据流时,同步的将其写入播放缓冲区和文件流缓冲区。本发明,处理流程清晰,容错性好,安全性高,解码速度快,能兼顾多种文件协议和多种音频格式解码,播放器的运行效率有保障,在线播放安全性、可靠性好,便于后期维护。
Description
技术领域
本发明涉及音频在线传输及播放技术领域,具体说是一种音频播放中的音频解码策略。
背景技术
流媒体,又叫流式媒体,是边传边播的媒体,是多媒体的一种。边传边播是指:媒体提供商在网络上传输媒体的“同时”,用户一边不断地接收并观看(视频)或收听(音频)被传输的媒体。“流”媒体的“流”指的是媒体的传输方式(流的方式),而并不是指媒体本身。即:所谓流媒体是指采用流式传输的方式在Internet播放的媒体格式。
传送服务器把媒体信息(简称媒体)当成数据包发出,传送到网络上。用户通过解压设备对这些数据包进行解压后,媒体就会像发送前那样显示出来。流媒体在远程教育、视频点播、网络电台、网络视频等方面有着广泛的应用。
现有技术中,在网络上传输音/视频等媒体信息,主要有下载和流式传输两种方案。
下载常常要花数分钟甚至数小时,用户本地需要大的存储容量支持媒体的下载及保存,下载完毕后才能观看(视频)或收听(音频)媒体信息,所以这种处理方法延迟也很大。
流式传输尤其适用于时基媒体(音频、视频等多媒体文件),时基媒体由传送服务器向用户计算机连续、实时的传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行观看或收听。当时基媒体在客户端上播放时,文件的剩余部分将在后台从服务器内继续传送。流式不仅使启动延时成十倍、百倍地缩短,而且不需要太大的缓存容量。流式传输避免了用户必须等待整个文件全部从Internet上下载才能观看的缺点。
流式媒体在播放前并不下载整个文件,只将开始部分内容存入用户计算机(例如内存),流式媒体的数据流随时传送随时播放,只是在开始时有一些延迟。流媒体实现的关键技术就是流式传输。
流式传输定义很广泛,主要指通过网络传送媒体(如音频、视频)的技术总称。实现流式传输有两种方法:实时流式传输(Real time streaming)和顺序流式传输(progressive streaming)。
顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体,在给定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的前头部分,在传输期间不根据用户连接的速度对下载顺序做调整。
实时流式传输可保证媒体信号带宽与网络连接匹配,使媒体可被实时观看到。实时流式传输根据网络情况调整输出音视频的质量从而实现媒体的持续的实时传送,用户可快进或后退以观看前面或后面的内容。
一般说来,如视频为实时广播,或使用流式传输媒体服务器,或应用如RTSP(RealTime Streaming Protocol,RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议)的实时协议,即为实时流式传输。如使用HTTP(HyperText Transfer Protocol,超文本传输协议,是互联网上应用最为广泛的一种网络协议)服务器,文件即通过顺序流发送,即为顺序流式传输。采用哪种传输方法依赖具体需求。当然,流式文件也支持在播放前完全下载到硬盘。
流的概念:流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具。在流中,定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员是对流进行所有操作的,而不用关心流的另一头数据的真正流向。流不但可以处理文件,还可以处理动态内存、网络数据等多种数据形式。如果你对流的操作非常熟练,在程序中利用流的方便性,写起程序会大大提高效率的。
在iOS系统中,提供了文件流操作类-NSFileHandle,允许更有效地使用文件,Objective-C使用NSFileHandle类对文件进行流操作,可以很好的支持流媒体,更适合于音频在线传输及播放。
NSFileHandle基本步骤如下:
1、打开文件,获取NSFileHandle对象。
2、对上面打开文件,通过NSFileHandle对象进行I/O流操作。
3、关闭文件。
由于音频媒体涉及版权,其在网络传输中的安全性、可靠性是行业竞争的关键,各家对音频播放时的处理策略都各不相同,考虑到前端开发和后台开发的协调、后期维护,有必要统一规范适合于本企业App(英文Application的简称,指智能设备的第三方应用程序,例如智能手机、智能平板等,智能设备可统称客户端)的音频播放策略。
在音频播放时,由于传入的音频格式,和音频文件的真实音频格式可能不同,这种错误出现时影响解码器的调用,存在解码器错误影响音频播放的情况,影响用户体验。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种音频播放中的音频解码策略,处理流程清晰,容错性好,安全性高,解码速度快,能兼顾多种文件协议和多种音频格式解码,播放器的运行效率有保障,在线播放安全性、可靠性好,便于后期维护。
为达到以上目的,本发明采取的技术方案是:
一种音频播放中的音频解码策略,其特征在于,包括如下步骤:
获取音频播放必要信息,解析其中的音频文件的音频格式;
访问音频文件的获取地址,解析音频文件的音频格式,存储为临时音频格式;
对比音频播放必要信息中的音频文件的音频格式及临时音频格式,
如不同,则执行矫正音频格式处理,得到修正后的音频格式,
如相同,则跳过矫正音频格式处理;
获取设备播放权限;
获取音频信息和音频数据流;
在获取音频数据流时,同步的将其写入播放缓冲区和文件流缓冲区。
在上述技术方案的基础上,在获取设备播放权限时,如果播放权限获取失败,则尝试不多于预设次数的获取重试,默认预设次数为3次,如依然获取失败,则返回无播放权限错误信息。
在上述技术方案的基础上,获取音频信息后,判断音频信息是否可用,
如果不可用,则返回音频播放失败信息,
如果可用,则设置播放队列,准备播放获取到的音频数据流。
在上述技术方案的基础上,播放缓冲区循环等待音频数据流的写入,形成播放数据流,
如果持续一段时间不能形成播放数据流,则返回音频播放失败信息。
在上述技术方案的基础上,所述持续一段时间通过预设的超时阈值控制,
用户能重设超时阈值的默认值。
在上述技术方案的基础上,形成播放数据流后,根据音频格式,调用相应的解码器,
如解码器解码播放数据流失败,则返回音频播放失败信息,
如本地缺少对应于音频格式的解码器,则请求远端服务器并获取相应的解码器。
本发明所述的音频播放中的音频解码策略,处理流程清晰,容错性好,安全性高,解码速度快,能兼顾多种文件协议和多种音频格式解码,播放器的运行效率有保障,在线播放安全性、可靠性好,便于后期维护。
附图说明
本发明有如下附图:
图1本发明的流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
如图1所示,本发明所述的音频播放中的音频解码策略,包括如下步骤:
获取音频播放必要信息,解析其中的音频文件的音频格式;
访问音频文件的获取地址,解析音频文件的音频格式,存储为临时音频格式;
对比音频播放必要信息中的音频文件的音频格式及临时音频格式,
如不同,则执行矫正音频格式处理,得到修正后的音频格式,
如相同,则跳过矫正音频格式处理;
获取设备播放权限,在iOS系统中,设备播放音频时需要获取当前设备音频播放权限,使app拥有播放app的权利;
获取音频信息和音频数据流;
在获取音频数据流时,同步的将其写入播放缓冲区和文件流缓冲区。
播放缓冲区用于解码器调用并解码、播放。
文件流缓冲区用于将音频文件存储于本地,以便今后使用。
在上述技术方案的基础上,在获取设备播放权限时,如果播放权限获取失败,则尝试不多于预设次数的获取重试,默认预设次数为3次,如依然获取失败,则返回无播放权限错误信息。
在上述技术方案的基础上,获取音频信息后,判断音频信息是否可用,
如果不可用,则返回音频播放失败信息,
如果可用,则设置播放队列,准备播放获取到的音频数据流,具体说是指下文所述播放数据流。
音频信息存储有音频播放时必不可少的基础信息,具体信息内容可根据需要自定义,或按现有技术实施。
在上述技术方案的基础上,播放缓冲区循环等待音频数据流的写入,形成播放数据流,
如果持续一段时间不能形成播放数据流,则返回音频播放失败信息。
在上述技术方案的基础上,所述持续一段时间通过预设的超时阈值控制,
用户能重设超时阈值的默认值。
在上述技术方案的基础上,形成播放数据流后,根据音频格式,调用相应的解码器,
如解码器解码播放数据流失败,则返回音频播放失败信息,
如本地缺少对应于音频格式的解码器,则请求远端服务器并获取相应的解码器。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (6)
1.一种音频播放中的音频解码策略,其特征在于,包括如下步骤:
获取音频播放必要信息,解析其中的音频文件的音频格式;
访问音频文件的获取地址,解析音频文件的音频格式,存储为临时音频格式;
对比音频播放必要信息中的音频文件的音频格式及临时音频格式,
如不同,则执行矫正音频格式处理,得到修正后的音频格式,
如相同,则跳过矫正音频格式处理;
获取设备播放权限;
获取音频信息和音频数据流;
在获取音频数据流时,同步的将其写入播放缓冲区和文件流缓冲区。
2.如权利要求1所述的音频播放中的音频解码策略,其特征在于:在获取设备播放权限时,如果播放权限获取失败,则尝试不多于预设次数的获取重试,默认预设次数为3次,如依然获取失败,则返回无播放权限错误信息。
3.如权利要求1所述的音频播放中的音频解码策略,其特征在于:获取音频信息后,判断音频信息是否可用,
如果不可用,则返回音频播放失败信息,
如果可用,则设置播放队列,准备播放获取到的音频数据流。
4.如权利要求1所述的音频播放中的音频解码策略,其特征在于:播放缓冲区循环等待音频数据流的写入,形成播放数据流,
如果持续一段时间不能形成播放数据流,则返回音频播放失败信息。
5.如权利要求4所述的音频播放中的音频解码策略,其特征在于:所述持续一段时间通过预设的超时阈值控制,
用户能重设超时阈值的默认值。
6.如权利要求4所述的音频播放中的音频解码策略,其特征在于:形成播放数据流后,根据音频格式,调用相应的解码器,
如解码器解码播放数据流失败,则返回音频播放失败信息,
如本地缺少对应于音频格式的解码器,则请求远端服务器并获取相应的解码器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810165911.8A CN108366291B (zh) | 2018-02-28 | 2018-02-28 | 一种音频播放中的音频解码策略 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810165911.8A CN108366291B (zh) | 2018-02-28 | 2018-02-28 | 一种音频播放中的音频解码策略 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108366291A true CN108366291A (zh) | 2018-08-03 |
CN108366291B CN108366291B (zh) | 2020-09-08 |
Family
ID=63003282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810165911.8A Active CN108366291B (zh) | 2018-02-28 | 2018-02-28 | 一种音频播放中的音频解码策略 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108366291B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080080596A1 (en) * | 2004-11-25 | 2008-04-03 | Matsushita Electric Industrial Co., Ltd. | Repeater Apparatus and Method for Controlling the Same |
CN101651694A (zh) * | 2009-09-18 | 2010-02-17 | 北京亮点时间科技有限公司 | 提供音频相关信息的方法、系统、客户端及服务器 |
CN104219212A (zh) * | 2013-06-04 | 2014-12-17 | 北大方正集团有限公司 | 视频文件跨网络传输方法、装置及系统 |
-
2018
- 2018-02-28 CN CN201810165911.8A patent/CN108366291B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080080596A1 (en) * | 2004-11-25 | 2008-04-03 | Matsushita Electric Industrial Co., Ltd. | Repeater Apparatus and Method for Controlling the Same |
CN101651694A (zh) * | 2009-09-18 | 2010-02-17 | 北京亮点时间科技有限公司 | 提供音频相关信息的方法、系统、客户端及服务器 |
CN104219212A (zh) * | 2013-06-04 | 2014-12-17 | 北大方正集团有限公司 | 视频文件跨网络传输方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108366291B (zh) | 2020-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10743038B2 (en) | Live broadcast processing method, apparatus, device, and storage medium | |
US8929441B2 (en) | Method and system for live streaming video with dynamic rate adaptation | |
CN104796796B (zh) | 提高Android平台的HLS流播放器容错的方法 | |
CN103200461B (zh) | 一种多台播放终端同步播放系统及播放方法 | |
US20150256600A1 (en) | Systems and methods for media format substitution | |
KR20120080214A (ko) | 다이내믹 미디어 파일 스트리밍을 위한 시스템, 방법 및 장치 | |
CA2783592A1 (en) | Apparatus and methods for describing and timing representations in streaming media files | |
TWI577186B (zh) | 第二內容串流在第二裝置上描繪時間之控制方法及控制裝置 | |
KR20120114016A (ko) | 사용자 컨텐츠를 외부 단말기에서 네트워크 적응적으로 스트리밍하는 방법 및 장치 | |
Lei et al. | Design and implementation of streaming media processing software based on RTMP | |
WO2018103696A1 (zh) | 媒体文件的播放方法、服务端、客户端及系统 | |
WO2016174960A1 (ja) | 受信装置、送信装置、およびデータ処理方法 | |
WO2019128692A1 (zh) | 一种媒体处理架构及方法 | |
CN108494792A (zh) | 一种flash播放器播放hls视频流的转换系统及其工作方法 | |
FR3019428A1 (fr) | Dispositif et procede de commande a distance de la restitution de contenus multimedia | |
CN108174284B (zh) | 一种基于Android系统的解码视频的方法 | |
CN103024491A (zh) | 移动终端的视频播放方法和系统 | |
CN105191324A (zh) | 通信设备、通信数据生成方法、以及通信数据处理方法 | |
CN108390935A (zh) | 一种基于文件流的音频播放策略 | |
CN106713361A (zh) | 多终端多协议流媒体发布方法 | |
CN106303754A (zh) | 一种音频数据播放方法及装置 | |
CN108366291A (zh) | 一种音频播放中的音频解码策略 | |
CN108322821A (zh) | 一种音频播放中的数据缓冲策略 | |
KR101829064B1 (ko) | Dash 규격의 미디어 데이터와 mmt 전송 시스템과의 연동 방법 및 그 장치 | |
CN102137106B (zh) | 互联网音频分享平台音频处理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |