CN111026353A - 音频播放设备混音方法、装置、设备及存储介质 - Google Patents
音频播放设备混音方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111026353A CN111026353A CN201911154186.5A CN201911154186A CN111026353A CN 111026353 A CN111026353 A CN 111026353A CN 201911154186 A CN201911154186 A CN 201911154186A CN 111026353 A CN111026353 A CN 111026353A
- Authority
- CN
- China
- Prior art keywords
- audio
- data
- mixing
- thread
- operating system
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000005070 sampling Methods 0.000 claims abstract description 29
- 239000000872 buffer Substances 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 15
- 230000005059 dormancy Effects 0.000 claims 2
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/165—Management of the audio stream, e.g. setting of volume, audio stream path
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/162—Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B2020/10935—Digital recording or reproducing wherein a time constraint must be met
- G11B2020/10953—Concurrent recording or playback of different streams or files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
本发明适用计算机技术领域,提供了一种基于实时操作系统的音频播放设备混音方法及装置,该方法包括:接收音频播放设备发送的多条音频通路混音请求,使用所述音频播放设备上RT‑Thread实时操作系统预先创建的常驻音频线程,对所述多条音频通路的音频数据进行采样,对从所述多条音频通路采样得到的音频数据进行混音,得到对应的混音数据并播放。从而实现了音频播放设备上RT‑Thread实时操作系统的多路音频播放设备同时播放,进而提高了用户体验。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种基于实时操作系统的音频播放设备混音方法、装置、音频播放设备及存储介质。
背景技术
随着计算机技术的不断发展和人们生活水平的提高,音频播放设备在人们日常生活和工作当中越来越普遍,对音频播放设备功能需求也越来越高。
对于精简的实时操作系统(real time operating system,RTOS)来说,音频播放大多是直接调用音频驱动,对脉冲编码调制(pulse code modulation,PCM)数据进行播放。当硬件中只有一路音频输出的时候,如果需要同时播放多路音频,这种直接把PCM数据送到驱动播放的方法,就无法满足这种需求。例如,在播放音乐的同时,要播放系统提示音,在这种多路音频的播放场景,多路音频无法同时播放,造成用户体验不佳。
发明内容
本发明的目的在于提供一种基于实时操作系统的音频播放设备混音方法、装置、音频播放设备及存储介质,旨在解决由于现有技术无法提供基于实时操作系统的音频播放设备混音方法,导致多路音频不能同时播放、复杂场景效果不佳的问题。
一方面,本发明提供了基于实时操作系统的音频播放设备混音方法,所述方法包括下述步骤:
接收多条音频通路混音请求;
使用所述音频播放设备上RT-Thread实时操作系统预先创建的常驻音频线程,对所述多条音频通路的音频数据进行采样;
对从所述多条音频通路采样得到的音频数据进行混音,得到对应的混音数据并播放。
另一方面,本发明提供了一种基于实时操作系统的音频播放设备混音装置,所述装置包括:
请求接收单元,用于接收多条音频通路混音请求;
采样单元,用于使用所述音频播放设备上RT-Thread实时操作系统预先创建的常驻音频线程,对所述多条音频通路的音频数据进行采样;
混音单元,用于对从所述多条音频通路采样得到的音频数据进行混音,得到对应的混音数据并播放。
另一方面,本发明还提供了一种音频播放设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如所述基于实时操作系统的音频播放设备混音方法的步骤。
另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如所述基于实时操作系统的音频播放设备混音方法的步骤。
本发明在接收多条音频通路混音请求时,使用所述音频播放设备上RT-Thread实时操作系统预先创建的常驻音频线程,对所述多条音频通路的音频数据进行采样,对从所述多条音频通路采样得到的音频数据进行混音,得到对应的混音数据并播放,从而实现了音频播放设备上RT-Thread实时操作系统的多路音频通路同时播放,进而提高了用户体验。
附图说明
图1是本发明实施例一提供的基于实时操作系统的音频播放设备混音方法的实现流程图;
图2是本发明实施例二提供的基于实时操作系统的音频播放设备混音装置的结构示意图;
图3是本发明实施例三提供的基于实时操作系统的音频播放设备混音装置的结构示意图;
图4是本发明实施例四提供的音频播放设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明实施例一提供的基于实时操作系统的音频播放设备混音方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S101中,接收多条音频通路混音请求。
本发明实施例适用于音频播放设备,该音频播放设备使用RT-Thread实时操作系统,具有多路音频输入(即音频通路)、且只有一路音频输出。音频播放设备接收到的多条音频通路混音请求可以来自音频播放设备本身,也可以是外部设备(例如,外接的计算机),以便通过音频播放设备播放混音后的音频数据。
在步骤S102中,使用所述音频播放设备上RT-Thread实时操作系统预先创建的常驻音频线程,对所述多条音频通路的音频数据进行采样。
本发明实施例中,在音频播放设备上RT-Thread实时操作系统上预先创建常驻音频线程,该常驻音频线程最多支持4条音频通路进行混音,从而减少采样时音频数据的存储器的负荷,同时提高多路音频播放的响应速率。具体地,该常驻音频线程可以通过实现Runnable接口,复写run方法,创建Thread类对象,将Runnable子类对象传递给Thread类对象,最后调用start方法去构建,也可以通过创建FutureTask对象,Callable子类对象,复写call方法,将Callable子类对象传递给FutureTask对象,最后调用start方法去构建,该常驻音频线程用于对音频通路的音频数据进行采样。在对音频通路的音频数据进行采样之前,预先设置该音频通路的采样率、采样位宽等参数。在所述多条音频通路的音频数据进行采样时,若多条音频通路的音频数据设置的采样参数不同时,则将当前采样的音频通路与上一采样音频通路的采样率、采样位宽等参数进行对比,判断是否一致,若不一致,则更改音频通路的采样参数,从而实现多条音频通路的差异化采样。在对所述多条音频通路的音频数据进行采样时,可以对处于开通状态的音频通路进行标识,便于常驻音频线程快捷地查找到开通状态的音频通路,进而提高该音频通路的采样效率。
优选地,当使用音频播放设备上RT-Thread实时操作系统预先创建的常驻音频线程,对多条音频通路的音频数据进行采样时,读取首个打开的音频通路的环形缓存器中一段定长的音频数据,将读取的该音频数据设置为主数据,然后读取剩余音频通路的环形缓存器中与该主数据相同长度的音频数据,将从剩余音频通路的环形缓存器中读取的音频数据设置为从数据,便于后续对音频数据有序地进行混音处理。
进一步优选地,当未接收到音频播放设备发送的多条音频通路混音请求时,休眠该常驻音频线程,从而降低音频播放设备的功耗。
在步骤S103中,对从所述多条音频通路采样得到的音频数据进行混音,得到对应的混音数据并播放。
在本发明实施中,在接收多条音频通路混音请求时,使用所述音频播放设备上RT-Thread实时操作系统预先创建的常驻音频线程,对所述多条音频通路的音频数据进行采样,对从所述多条音频通路采样得到的音频数据进行混音,得到对应的混音数据并播放,从而实现了音频播放设备上RT-Thread实时操作系统的多路音频通路同时播放,进而提高了用户体验。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
实施例二:
图2示出了本发明实施例二提供的基于实时操作系统的音频播放设备混音装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
请求接收单元21,用于接收音频播放设备发送的多条音频通路混音请求。
采样单元22,用于使用所述音频播放设备上RT-Thread实时操作系统预先创建的常驻音频线程,对所述多条音频通路的音频数据进行采样。
混音单元23,用于对从所述多条音频通路采样得到的音频数据进行混音,得到对应的混音数据并播放。
本发明实施例中,在接收多条音频通路混音请求时,使用所述音频播放设备上RT-Thread实时操作系统预先创建的常驻音频线程,对所述多条音频通路的音频数据进行采样,对从所述多条音频通路采样得到的音频数据进行混音,得到对应的混音数据并播放,从而实现了音频播放设备上RT-Thread实时操作系统的多路音频通路同时播放,进而提高了用户体验。各单元的具体实施方式可参考实施例一的描述,在此不再赘述。
实施例三:
图3示出了本发明实施例三提供的基于实时操作系统的音频播放设备混音装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
请求接收单元31,用于接收音频播放设备发送的多条音频通路混音请求。
采样单元32,用于使用音频播放设备上RT-Thread实时操作系统预先创建的常驻音频线程,对多条音频通路的音频数据进行采样。
混音单元33,用于对从多条音频通路采样得到的音频数据进行混音,得到对应的混音数据并播放。
休眠单元34,用于当未接收到多条音频通路混音请求时,休眠常驻音频线程。
其中,优选地,采样单元包括32:
第一数据读取单元321,用于读取首个打开的音频通路的环形缓存器中一段定长的音频数据,将读取的音频数据设置为主数据;以及
第二数据读取单元322,用于读取剩余音频通路的环形缓存器中与主数据相同长度的音频数据,将从剩余音频通路的环形缓存器中读取的音频数据设置为从数据。
混音单元33包括:
混音子单元331,用于对从数据与主数据进行混音操作。
在本发明实施例中,在接收多条音频通路混音请求时,使用音频播放设备上RT-Thread实时操作系统预先创建的常驻音频线程,对多条音频通路的音频数据进行采样,具体地,读取首个打开的音频通路的环形缓存器中一段定长的音频数据,将读取的该音频数据设置为主数据,然后读取剩余音频通路的环形缓存器中与该主数据相同长度的音频数据,将从剩余音频通路的环形缓存器中读取的音频数据设置为从数据,对从多条音频通路采样得到的音频数据进行混音,具体地,将主数据与从数据进行处理,得到对应的混音数据并播放,从而实现了音频播放设备上RT-Thread实时操作系统的多路音频通路同时播放,进而提高了用户体验。
在本发明实施例中,基于实时操作系统的音频播放设备混音装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。
实施例四:
图4示出了本发明实施例四提供的音频播放设备的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
本发明实施例的音频播放设备40包括处理器43、存储器41以及存储在存储器41中并可在处理器43上运行的计算机程序42。该处理器43执行计算机程序42时实现上述各个基于实时操作系统的音频播放设备混音方法实施例中的步骤,例如图1所示的步骤S101至S103。或者,处理器43执行计算机程序42时实现上述各装置实施例中各单元的功能,例如图3所示单元31至34的功能。
在本发明实施例中,音频播放设备在接收多条音频通路混音请求时,使用音频播放设备上RT-Thread实时操作系统预先创建的常驻音频线程,对多条音频通路的音频数据进行采样,对从多条音频通路采样得到的音频数据进行混音,得到对应的混音数据并播放,从而实现了音频播放设备上RT-Thread实时操作系统的多路音频通路同时播放,进而提高了用户体验。
本发明实施例的音频播放设备可以为音频播放器。该音频播放设备40中处理器43执行计算机程序42时实现基于实时操作系统的音频播放设备混音方法时实现的步骤可参考前述方法实施例的描述,在此不再赘述。
实施例五:
在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述基于实时操作系统的音频播放设备混音方法实施例中的步骤,例如,图1所示的步骤S101至S103。或者,该计算机程序被处理器执行时实现上述各装置实施例中各单元的功能,例如图3所示单元31至34的功能。
在本发明实施例中,音频播放设备在接收多条音频通路混音请求时,使用音频播放设备上RT-Thread实时操作系统预先创建的常驻音频线程,对所述多条音频通路的音频数据进行采样,对从多条音频通路采样得到的音频数据进行混音,得到对应的混音数据并播放,从而实现了音频播放设备上RT-Thread实时操作系统的多路音频通路同时播放,进而提高了用户体验。
本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,ROM/RAM、磁盘、光盘、闪存等存储器。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于实时操作系统的音频播放设备混音方法,其特征在于,所述方法包括下述步骤:
接收多条音频通路混音请求;
使用所述音频播放设备上RT-Thread实时操作系统预先创建的常驻音频线程,对所述多条音频通路的音频数据进行采样;
对从所述多条音频通路采样得到的音频数据进行混音,得到对应的混音数据并播放。
2.如权利要求1所述的方法,其特征在于,使用所述音频播放设备上RT-Thread实时操作系统预先创建的常驻音频线程,对所述多条音频通路的音频数据进行采样的步骤,包括:
读取首个打开的音频通路的环形缓存器中一段定长的音频数据,将读取的所述音频数据设置为主数据;
读取剩余音频通路的环形缓存器中与所述主数据相同长度的音频数据,将从所述剩余音频通路的环形缓存器中读取的音频数据设置为从数据;
对从所述多条音频通路采样得到的音频数据进行混音的步骤,包括:
对所述从数据与所述主数据进行混音操作。
3.如权利要求1所述的方法,其特征在于,所述音频播放设备至多包括4条所述音频通路。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
当未接收到所述多条音频通路混音请求时,休眠所述常驻音频线程。
5.如权利要求1所述的方法,其特征在于,对所述多条音频通路的音频数据进行采样之前,所述方法还包括:
通过所述音频播放终端上RT-Thread实时操作系统创建的常驻音频线程,预先设置所述音频通路的采样参数。
6.一种基于实时操作系统的音频播放设备混音装置,其特征在于,所述装置包括:
请求接收单元,用于接收多条音频通路混音请求;
采样单元,用于使用所述音频播放设备上RT-Thread实时操作系统预先创建的常驻音频线程,对所述多条音频通路的音频数据进行采样;
混音单元,用于对从所述多条音频通路采样得到的音频数据进行混音,得到对应的混音数据并播放。
7.如权利要求6所述的装置,其特征在于,所述采样单元包括:
第一数据读取单元,用于读取首个打开的音频通路的环形缓存器中一段定长的音频数据,将读取的所述音频数据设置为主数据;
第二数据读取单元,用于读取剩余音频通路的环形缓存器中与所述主数据相同长度的音频数据,将从所述剩余音频通路的环形缓存器中读取的音频数据设置为从数据;
所述混音单元包括:
混音子单元,用于对所述从数据与所述主数据进行混音操作。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
休眠单元,用于当未接收到所述多条音频通路混音请求时,休眠所述常驻音频线程。
9.一种音频播放设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911154186.5A CN111026353A (zh) | 2019-11-22 | 2019-11-22 | 音频播放设备混音方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911154186.5A CN111026353A (zh) | 2019-11-22 | 2019-11-22 | 音频播放设备混音方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111026353A true CN111026353A (zh) | 2020-04-17 |
Family
ID=70207209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911154186.5A Pending CN111026353A (zh) | 2019-11-22 | 2019-11-22 | 音频播放设备混音方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111026353A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101692693A (zh) * | 2009-09-29 | 2010-04-07 | 北京中科大洋科技发展股份有限公司 | 一种多功能一体化演播室系统和演播方法 |
CN103310776A (zh) * | 2013-05-29 | 2013-09-18 | 亿览在线网络技术(北京)有限公司 | 一种实时混音的方法和装置 |
CN108259985A (zh) * | 2018-01-09 | 2018-07-06 | 武汉斗鱼网络科技有限公司 | 直播音频混音方法、装置、可读存储介质及设备 |
-
2019
- 2019-11-22 CN CN201911154186.5A patent/CN111026353A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101692693A (zh) * | 2009-09-29 | 2010-04-07 | 北京中科大洋科技发展股份有限公司 | 一种多功能一体化演播室系统和演播方法 |
CN103310776A (zh) * | 2013-05-29 | 2013-09-18 | 亿览在线网络技术(北京)有限公司 | 一种实时混音的方法和装置 |
CN108259985A (zh) * | 2018-01-09 | 2018-07-06 | 武汉斗鱼网络科技有限公司 | 直播音频混音方法、装置、可读存储介质及设备 |
Non-Patent Citations (1)
Title |
---|
刘云玉 等: "《JAVA程序设计基础实验教程》", pages: 177 - 179 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8930590B2 (en) | Audio device and method of operating the same | |
US9602929B2 (en) | Techniques for presenting sound effects on a portable media player | |
US5519808A (en) | Transcription interface for a word processing station | |
US7249024B2 (en) | Resource saving preemption | |
WO2020062670A1 (zh) | 电器设备的控制方法、装置、电器设备和介质 | |
US11587560B2 (en) | Voice interaction method, device, apparatus and server | |
JP2006323806A (ja) | テキストを音声に変換するシステムおよび方法 | |
EP1860555A2 (en) | Media subsystem, method and computer program product for adaptive media buffering | |
US7228188B1 (en) | Recording and reproducing apparatus and a method thereof | |
WO2020135773A1 (zh) | 数据处理方法、装置及计算机可读存储介质 | |
CN114023287A (zh) | 音频文件的混音处理方法、装置、终端及存储介质 | |
CN111026353A (zh) | 音频播放设备混音方法、装置、设备及存储介质 | |
CN111063356A (zh) | 电子设备响应方法及系统、音箱和计算机可读存储介质 | |
US8682460B2 (en) | System and method for performing audio processing operations by storing information within multiple memories | |
JP4251278B2 (ja) | 情報処理装置 | |
CN113689062A (zh) | 智能体协调装置,智能体协调方法以及记录有智能体协调程序的记录介质 | |
WO2019075620A1 (zh) | 数据处理系统 | |
JP2000089789A (ja) | 音声認識装置及び記録媒体 | |
US20050262256A1 (en) | Method and device for multimedia processing | |
JPH11149706A (ja) | 記録再生装置及び記録再生方法 | |
CN1835107A (zh) | 具有自动停止音乐功能的移动通信终端及停止音乐方法 | |
CN116567484A (zh) | 多麦克风录音方法、装置、电子设备及存储介质 | |
US20230418353A1 (en) | Media processing apparatus and method | |
WO2024087433A1 (zh) | 触觉反馈方法和装置 | |
US11132240B2 (en) | Multi-agent ring-buffer |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200417 |
|
RJ01 | Rejection of invention patent application after publication |