一种音频数据采集的方法和装置制造方法及图纸

技术编号:18525569 阅读:73 留言:0更新日期:2018-07-25 12:37
本发明专利技术实施例提供了一种音频数据采集的方法和装置,其中,所述方法包括:初始化高级Linux声音架构ALSA,确定待监测描述符;初始化多路复用接口,其中,所述多路复用接口为操作系统与所述视联网系统的交互接口;将所述待监测描述符添加至所述多路复用接口中;当操作系统监测到某一待监测描述符可读时,将所述多路复用接口中所述描述符的状态修改为可读状态;所述视联网系统循环监测、所述多路复用接口中可读状态的描述符,从可读状态的描述符下采集音频数据。通过本发明专利技术实施例提供的音频数据采集方案,无需周期性的重新初始化ALSA接口,避免初始化ALSA接口带来的噪音,能够提升用户的使用体验。

【技术实现步骤摘要】
一种音频数据采集的方法和装置
本专利技术涉及视联网
,特别是涉及一种音频数据采集的方法和装置。
技术介绍
视联网是一种基于以太网硬件实时大带宽传输网络,用于高速传输高清视频及专用协议的专用网络。在视联网终端中,在进行音频采集时主要采用阻塞式音频采集方式,具体流程为:首先,初始化ALSA(AdvancedLinuxSoundArchitecture,高级Linux声音架构)音频采集的参数;其次,在一个循环中不断调用阻塞的音频采集接口读取音频数据,无数据时候,就阻塞在音频采集接口;最后,退出采集时候,关闭描述符,清理所占用的资源。阻塞式音频采集当无数据时,会阻塞在音频采集接口,会导致视联网终端无法及时退出、或不正常中断重启的问题。此外,阻塞式音频采集由于中断,需要周期性的重新初始化ALSA接口,而初始化ALSA接口会带来噪音,影响用户的使用体验。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题的音频数据采集方法和装置。为了解决上述问题,本专利技术公开了一种音频数据采集的方法,应用于视联网系统,其中,所述方法包括:初始化高级Linux声音架构ALSA,确定待监测描述符;初始化多路复用接口,其中,所述多路复用接口为操作系统与所述视联网系统的交互接口;将所述待监测描述符添加至所述多路复用接口中;当操作系统监测到某一待监测描述符可读时,将所述多路复用接口中所述描述符的状态修改为可读状态;所述视联网系统循环监测、所述多路复用接口中可读状态的描述符,从可读状态的描述符下采集音频数据。优选地,所述待监测描述符包括循环结束描述符,在所述从可读状态的描述符下采集音频数据的步骤之后,所述方法还包括:当欲退出音频数据采集时,接收对所述循环结束描述符进行的写操作,其中,所述写操作可使所述循环结束符呈可读状态;操作系统监测到循环结束描述符可读时,将所述多路复用接口中的所述循环结束符状态修改为可读状态;所述视联网系统监测到所述循环结束符为可读状态后,从所述循环结束符中读取结束指令,退出循环检测音频采集描述符和循环结束描述符的操作。优选地,所述初始化高级Linux声音架构ALSA,确定待监测描述符的步骤,包括:初始化ALSA,通过ALSA采集音频采集参数,对采集的所述音频采集参数进行转化生成待监测描述符。优选地,在所述从所述循环结束符中读取结束指令,退出循环监测、所述多路复用接口中可读状态的描述符,从可读状态的描述符下采集音频数据的操作的步骤之后,所述方法还包括:将所述待监测描述符从所述多路复用接口中删除。优选地,所述视联网系统循环监测、所述多路复用接口中可读状态的描述符,从可读状态的描述符下采集音频数据步骤,包括:所述视联网系统调用轮询函数查找所述多路复用接口中可读状态的描述符;当未轮询到可读状态的描述符时,重复执行轮询操作,直至轮询到可读状态的描述符;当轮询到可读状态的描述符时,从所述可读状态的描述符下采集音频数据,音频数据采集完成后,继续返回执行所述查找所述多路复用接口中可读状态的描述符的操作。为了解决上述问题,本专利技术还公开了一种音频数据采集的装置,其中,所述装置包括:第一初始化模块,用于初始化高级Linux声音架构ALSA,确定待监测描述符;第二初始化模块,用于初始化多路复用接口,其中,所述多路复用接口为操作系统与所述视联网系统的交互接口;添加模块,用于将所述待监测描述符添加至所述多路复用接口中;状态修改模块,用于当操作系统监测到某一待监测描述符可读时,将所述多路复用接口中所述描述符的状态修改为可读状态;循环监测模块,用于循环监测、所述多路复用接口中可读状态的描述符,从可读状态的描述符下采集音频数据。优选地,所述装置还包括:写操作接收模块,用于在所述循环监测模块从可读状态的描述符下采集音频数据之后,当欲退出音频数据采集时,接收对所述循环结束描述符进行的写操作,其中,所述写操作可使所述循环结束符呈可读状态,所述待监测描述符包括循环结束描述符,循环结束符状态修改模块,用于操作系统监测到循环结束描述符可读时,将所述多路复用接口中的所述循环结束符状态修改为可读状态;退出模块,用于监测到所述循环结束符为可读状态后,从所述循环结束符中读取结束指令,退出循环检测音频采集描述符和循环结束描述符的操作。优选地,所述第一初始化模块具体用于:初始化ALSA,通过ALSA采集音频采集参数,对采集的所述音频采集参数进行转化生成待监测描述符。优选地,所述装置还包括:删除模块,用于在所述退出模块从所述循环结束符中读取结束指令,退出循环监测、所述多路复用接口中可读状态的描述符,从可读状态的描述符下采集音频数据的操作之后,将所述待监测描述符从所述多路复用接口中删除。优选地,所述循环监测模块具体用于:调用轮询函数查找所述多路复用接口中可读状态的描述符;当未轮询到可读状态的描述符时,重复执行轮询操作,直至轮询到可读状态的描述符;当轮询到可读状态的描述符时,从所述可读状态的描述符下采集音频数据,音频数据采集完成后,继续返回执行所述查找所述多路复用接口中可读状态的描述符的操作。与现有技术相比,本专利技术具有以下优点:本专利技术实施例提供的音频数据采集方案,在进行音频数据采集时引入多路复用接口,由操作系统监测描述符状态,当描述符可读时在多路复用接口中将该描述符的状态修改为可读,视联网系统监测到多路复用接口中的某描述状态为可读时,从该描述符下采集音频数据。本专利技术实施例提供的音频数据采集方案,视联网系统是在确定描述符下对应有可采集到音频数据后,才进行音频数据采集,节省CPU,由于采集描述符设置为非阻塞描述符,不会出现因无法采集到音频数据,而阻塞在音频采集接口的问题,由于不会在音频采集接口阻塞,因此,视联网终端不会不正常中断、重启。由于不会不正常中断、重启,故无需周期性的重新初始化ALSA接口,避免初始化ALSA接口带来的噪音,能够提升用户的使用体验。附图说明图1是根据本专利技术实施例一的一种音频数据采集方法的步骤流程图;图2是根据本专利技术实施例二的一种音频数据采集方法的步骤流程图;图3是根据本专利技术实施例三的一种音频数据采集装置的结构框图;图4是根据本专利技术实施例四的一种音频数据采集装置的结构框图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。实施例一参照图1,示出了本专利技术实施例一的一种音频数据采集方法包括以下步骤:步骤101:初始化ALSA,确定待监测描述符。本专利技术实施例提供的音频数据采集的方法适用于视联网系统,其中,待监测描述符可以由ALSA确定。ALSA是AdvancedLinuxSoundArchitecture,高级Linux声音架构的简称,它在Linux操作系统上提供了音频和MIDI(MusicalInstrumentDigitalInterface,音乐设备数字化接口)的支持。步骤102:初始化多路复用接口。其中,多路复用接口为操作系统与视联网系统的交互接口。多路复用接口为操作系统中现有的交互接口,本专利技术实施例中创造性的引入该接口进行音频数据采集。操作系统有一个重要功能,当某个描述符可读或者可写的时候,它发出一个通知消息。本专利技术实施例中,通过操作系统的该重要功能实现非阻塞音频数据采集本文档来自技高网...

【技术保护点】
1.一种音频数据采集的方法,应用于视联网系统,其特征在于,所述方法包括:初始化高级Linux声音架构ALSA,确定待监测描述符;初始化多路复用接口,其中,所述多路复用接口为操作系统与所述视联网系统的交互接口;将所述待监测描述符添加至所述多路复用接口中;当操作系统监测到某一待监测描述符可读时,将所述多路复用接口中所述描述符的状态修改为可读状态;所述视联网系统循环监测、所述多路复用接口中可读状态的描述符,从可读状态的描述符下采集音频数据。

【技术特征摘要】
1.一种音频数据采集的方法,应用于视联网系统,其特征在于,所述方法包括:初始化高级Linux声音架构ALSA,确定待监测描述符;初始化多路复用接口,其中,所述多路复用接口为操作系统与所述视联网系统的交互接口;将所述待监测描述符添加至所述多路复用接口中;当操作系统监测到某一待监测描述符可读时,将所述多路复用接口中所述描述符的状态修改为可读状态;所述视联网系统循环监测、所述多路复用接口中可读状态的描述符,从可读状态的描述符下采集音频数据。2.根据权利要求1所述的方法,其特征在于,其中,所述待监测描述符包括循环结束描述符,在所述从可读状态的描述符下采集音频数据的步骤之后,所述方法还包括:当欲退出音频数据采集时,接收对所述循环结束描述符进行的写操作,其中,所述写操作可使所述循环结束符呈可读状态;操作系统监测到循环结束描述符可读时,将所述多路复用接口中的所述循环结束符状态修改为可读状态;所述视联网系统监测到所述循环结束符为可读状态后,从所述循环结束符中读取结束指令,退出循环检测音频采集描述符和循环结束描述符的操作。3.根据权利要求1所述的方法,其特征在于,所述初始化高级Linux声音架构ALSA,确定待监测描述符的步骤,包括:初始化ALSA,通过ALSA采集音频采集参数,对采集的所述音频采集参数进行转化生成待监测描述符。4.根据权利要求1所述的方法,其特征在于,在所述从所述循环结束符中读取结束指令,退出循环监测、所述多路复用接口中可读状态的描述符,从可读状态的描述符下采集音频数据的操作的步骤之后,所述方法还包括:将所述待监测描述符从所述多路复用接口中删除。5.根据权利要求1所述的方法,其特征在于,所述视联网系统循环监测、所述多路复用接口中可读状态的描述符,从可读状态的描述符下采集音频数据步骤,包括:所述视联网系统调用轮询函数查找所述多路复用接口中可读状态的描述符;当未轮询到可读状态的描述符时,重复执行轮询操作,直至轮询到可读状态的描述符;当轮询到可读状态的描述符时,从所述可读状态的描述符下采集音频数据,音频数据采集完成后,继续返回执行所述查找所述多路复用接口中可读状态的描述符的...

【专利技术属性】
技术研发人员:赵杰朱道彦杨春晖王艳辉
申请(专利权)人:北京视联动力国际信息技术有限公司
类型:发明
国别省市:北京,11

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

1