音频发送方法、装置、电子设备及存储介质与流程

文档序号:25742022发布日期:2021-07-06 18:52阅读:89来源:国知局
音频发送方法、装置、电子设备及存储介质与流程

本公开涉及信号处理领域,尤其涉及一种音频发送方法、装置、电子设备及存储介质。



背景技术:

在音频通信过程中,发送端将编码好的音频包通过网络送给接收端。接收端接收到音频包后,进行解码后播放。当网络状态较差时,网络可用带宽很小(即,网络带宽受限),如果可用带宽小于音频包需要的带宽时,就会产生拥塞,导致音频包无法正常到达接收端,无法进行正常通话。这时需要进行限速处理,即发送端降低音频的码率。如果网络变好了,再将音频编码码率提升到正常水平。

这里的问题在于,“检测到不限速”可能是由于降低了码率的缘故,当提升码率后,有可能又触发了限速,导致短暂时间内网络不可用,然后进入一个检测到限速=>降低码率=>检测到不限速=>提升码率=>再次检测到限速的循环中。这里在提升码率后可能会立刻导致网络不可用,等收到接收端的网络拥塞反馈时,这里可能已经经过了一段时间,发送端已经以提升后的码率向网络中超发了很多数据,从而会导致网络严重阻塞。



技术实现要素:

本公开提供一种音频发送方法、装置、电子设备及存储介质,以至少解决在网络带宽受限的情况下由于超发而导致网络阻塞的问题。

根据本公开实施例的第一方面,提供了一种音频发送方法,所述方法包括:发送端按照第一码率向接收端发送以第一码率编码的音频,其中,第一码率是发送端以第二码率发送音频时,接收到网络拥塞反馈后降低码率得到的;当从接收端接收到网络不拥塞反馈时,以第三码率向接收端发送以第一码率编码的携带冗余音频包的音频,其中,第三码率小于第二码率且大于第一码率。

可选地,所述方法还包括:当以第三码率发送携带冗余音频包的音频之后从接收端接收到网络拥塞反馈时,以第一码率向接收端发送以第一码率编码的不携带冗余音频包的音频;当以第三码率发送携带冗余音频包的音频之后从接收端接收到网络不拥塞反馈时,以第四码率向接收端发送以第一码率编码的比先前以第三码率发送音频时携带更多数量的冗余音频包的音频,其中,第四码率大于第三码率且小于或等于第二码率。

可选地,所述方法还包括:当以等于第二码率的第四码率发送以第一码率编码的携带冗余音频包的音频之后从接收端接收到网络不拥塞反馈时,以第二码率发送以第二码率编码的不携带冗余音频包的音频。

可选低,第三码率被按照以下等式计算:第三码率=第一码率+m×(第二码率-第一码率)/n,其中,n是大于或等于1的正整数,m是正整数并且1≤m<n。

可选低,携带的冗余音频包被用于进行音频的丢包补偿。

可选地,所述方法还包括:当以第一码率发送音频之后从接收端接收到网络拥塞反馈时,以比第一码率更低的码率发送音频。

可选低,音频的每n个包携带m个冗余音频包。

可选地,所述当从接收端接收到网络不拥塞反馈时,以第三码率向接收端发送以第一码率编码的携带冗余音频包的音频,包括:当以第一码率发送音频之后的预定时间段内从接收端接收的都是网络不拥塞反馈时,以第三码率向接收端发送以第一码率编码的携带冗余音频包的音频。

可选地,所述当以第三码率发送携带冗余音频包的音频之后从接收端接收到网络不拥塞反馈时,以第四码率向接收端发送以第一码率编码的比先前以第三码率发送音频时携带更多数量的冗余音频包的音频,包括:当以第三码率发送携带冗余音频包的音频之后的预定时间段内从接收端接收的都是网络不拥塞反馈时,以第四码率向接收端发送以第一码率编码的比先前以第三码率发送音频时携带更多数量的冗余音频包的音频。

可选地,所述当以等于第二码率的第四码率发送以第一码率编码的携带冗余音频包的音频之后从接收端接收到网络不拥塞反馈时,以第二码率发送以第二码率编码的不携带冗余音频包的音频,包括:当以等于第二码率的第四码率发送以第一码率编码的携带冗余音频包的音频之后的预定时间段内从接收端接收的都是网络不拥塞反馈时,以第二码率发送以第二码率编码的不携带冗余音频包的音频。

根据本公开实施例的第二方面,提供了一种音频发送装置,所述装置包括:反馈接收单元,被配置为从接收端接收关于网络状态的反馈;音频发送单元,被配置为:按照第一码率向接收端发送以第一码率编码的音频,其中,第一码率是发送端以第二码率发送音频时,接收到网络拥塞反馈后降低码率得到的;当从接收端接收到网络不拥塞反馈时,以第三码率向接收端发送以第一码率编码的携带冗余音频包的音频,其中,第三码率小于第二码率且大于第一码率。

可选地,所述音频发送单元还被配置为:当以第三码率发送携带冗余音频包的音频之后从接收端接收到网络拥塞反馈时,以第一码率向接收端发送以第一码率编码的不携带冗余音频包的音频;当以第三码率发送携带冗余音频包的音频之后从接收端接收的都是网络不拥塞反馈时,以第四码率向接收端发送以第一码率编码的比先前以第三码率发送音频时携带更多数量的冗余音频包的音频,其中,第四码率大于第三码率且小于或等于第二码率。

可选地,所述音频发送单元还被配置为:当以等于第二码率的第四码率发送以第一码率编码的携带冗余音频包的音频之后从接收端接收的都是网络不拥塞反馈时,以第二码率发送以第二码率编码的不携带冗余音频包的音频。

可选地,第三码率被按照以下等式计算:第三码率=第一码率+m×(第二码率-第一码率)/n,其中,n是大于或等于1的正整数,m是正整数并且1≤m<n。

可选地,携带的冗余音频包被用于进行音频的丢包补偿。

可选地,所述音频发送单元还被配置为:当以第一码率发送音频之后从接收端接收到网络拥塞反馈时,以比第一码率更低的码率发送音频。

可选地,音频的每n个包携带m个冗余音频包。

可选地,所述当从接收端接收到网络不拥塞反馈时,以第三码率向接收端发送以第一码率编码的携带冗余音频包的音频,包括:当以第一码率发送音频之后的预定时间段内从接收端接收的都是网络不拥塞反馈时,以第三码率向接收端发送以第一码率编码的携带冗余音频包的音频。

可选地,所述当以第三码率发送携带冗余音频包的音频之后从接收端接收到网络不拥塞反馈时,以第四码率向接收端发送以第一码率编码的比先前以第三码率发送音频时携带更多数量的冗余音频包的音频,包括:当以第三码率发送携带冗余音频包的音频之后的预定时间段内从接收端接收的都是网络不拥塞反馈时,以第四码率向接收端发送以第一码率编码的比先前以第三码率发送音频时携带更多数量的冗余音频包的音频。

可选地,所述当以等于第二码率的第四码率发送以第一码率编码的携带冗余音频包的音频之后从接收端接收到网络不拥塞反馈时,以第二码率发送以第二码率编码的不携带冗余音频包的音频,包括:当以等于第二码率的第四码率发送以第一码率编码的携带冗余音频包的音频之后的预定时间段内从接收端接收的都是网络不拥塞反馈时,以第二码率发送以第二码率编码的不携带冗余音频包的音频。

根据本公开实施例的第三方面,提供了一种电子设备,所述电子设备包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如上所述的方法。

根据本公开实施例的第四方面,提供了一种存储指令的计算机可读存储介质,其特征在于,当所述指令被至少一个处理器运行时,促使所述至少一个处理器执行如上所述的方法。

根据本公开实施例的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令被处理器执行时实现如上所述的方法。

本公开的实施例提供的技术方案至少带来以下有益效果:本公开的实施例通过在网络不拥塞时以第三码率(小于第二码率且大于第一码率)发送以第一码率编码的携带冗余音频包的音频而非直接以第二码率发送以第二码率编码的音频,可以有效地避免在网络带宽受限的情况下由于超发而导致网络阻塞。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的示例实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是本公开的示例性实施例可以应用于其中的示例性系统架构;

图2是本公开的示例性实施例的音频发送方法的流程图;

图3是示出本公开的示例性实施例的携带冗余音频包的示意图;

图4是本公开的示例性实施例的音频发送装置的框图;

图5是根据本公开示例性实施例的电子设备的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括a和b之中的至少一个”即包括如下三种并列的情况:(1)包括a;(2)包括b;(3)包括a和b。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。

图1示出了本公开的示例性实施例可以应用于其中的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息(例如音视频数据上传请求、音视频数据获取请求)等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如唱歌类应用、音视频录制软件、音视频播放器、即时通信工具、邮箱客户端、社交平台软件等。终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏并且能够进行音视频播放和录制的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。

终端设备101、102、103可以安装有图像采集装置(例如摄像头),以采集视频数据。实践中,组成视频的最小视觉单位是帧(frame)。每一帧是一幅静态的图像。将时间上连续的帧序列合成到一起便形成动态视频。此外,终端设备101、102、103也可以安装有用于将电信号转换为声音的组件(例如扬声器)以播放声音,并且还可以安装有用于将模拟音频信号转换为数字音频信号的装置(例如,麦克风)以采集声音。

服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上所安装的多媒体应用提供支持的后台服务器。后台服务器可以对所接收到的音视频数据上传请求等数据进行解析、存储等处理,并且还可以接收终端设备101、102、103所发送的音视频数据获取请求,并将该音视频数据获取请求所指示的音视频数据反馈至终端设备101、102、103。

终端101、102和103彼此之间可以通过网络104进行通信。例如,例如,在语音连麦过程中,发送端(例如,终端101,但不限于此)通过麦克风对声音进行采集,对音频进行预处理,并对音频进行编码之后,将编码好的音频包通过网络104发送给接收端(例如,终端102或103,但不限于此),接收端接收到音频包后,对其进行解码,然后通过其扬声器进行播放。

需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。

需要说明的是,本公开实施例所提供的音频发送方法一般由终端设备101、102、103执行,相应地,用音频发送装置一般设置于终端设备101、102、103中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器,本公开对此并无限制。

图2是本公开的示例性实施例的音频发送方法的流程图。

在步骤s201,发送端按照第一码率向接收端发送以第一码率编码的音频。这里,以第一码率发送音频,并且音频是以第一码率编码的,因此,在步骤s201中音频的发送码率等于音频的编码码率。发送码率是指单位时间内发送的比特数。编码码率是指单位时间内产生的比特数。根据示例性实施例,第一码率可以是发送端以第二码率发送音频时,接收到网络拥塞反馈后降低码率得到的。因此,第一码率小于第二码率。作为示例,在以第二码率发送音频(例如,以第二码率编码的音频)时可以默认网络是正常状态,即,网络不拥塞。为描述方便,在下文中,第一码率可被表示为brn,第二码率可被表示为brn-1。如果接收到的网络状态反馈的值为true,则指示网络拥塞,也就是说,此时接收到了网络拥塞反馈,如果继续使用brn-1会导致通话不可用,需要降低音频码率,例如,以小于brn-1的码率brn发送音频。此时,由于brn的码率低于brn-1,携带的音频信息变少,所以音质会不如使用brn-1时的音质。

接收端在接收到音频(音频包)时,可使用拥塞控制算法(例如,可以使用webrtc的gcc算法)判断当前网络是否拥塞,同时将网络状态反馈发送给发送端。可以采用任何拥塞控制算法判断当前网络是否拥塞,本公开对此并无任何限制。

在以第一码率发送音频之后会继续从接收端接收到网络状态反馈,例如,如果网络状态反馈的值为true,则表明网络拥塞,即,以当前码率发送音频会导致网络阻塞,此时,需要进一步降低码率。也就是说,当以第一码率发送音频之后从接收端接收到网络拥塞反馈时,以比第一码率更低的码率发送音频。

然而,如果网络状态反馈的值为false,则表明网络不拥塞,也就是说,此时接收到了网络不拥塞反馈,这表明当前码率没有导致阻塞。此时,需要提升码率,然而,如果直接将码率提升到在当前码率之前所使用的码率,则可能又会立刻导致网络又不可用,而且由于网络状态反馈是从接收端(远端)反馈回来的,需要一定的时间,那么这段时间发送端会持续以提升后的码率向网络中发送数据,而这将导致网络阻塞。因此,根据本公开实施例,在步骤s202,当从接收端接收到网络不拥塞反馈时,以第三码率向接收端发送以第一码率编码的携带冗余音频包的音频。这里,第三码率小于第二码率且大于第一码率。

由于本公开的音频发送方法在步骤s202并非是直接将码率提升到第二码率,而是在保持当前编码码率(第一码率)的情况下以小于第二码率且大于第一码率的第三码率发送携带冗余音频包的音频(也就是说,保持编码码率不变而是提高实际发送码率),所以可以有效地避免在网络带宽受限的情况下由于超发而导致网络阻塞。

此外,由于从接收端收到的反馈可能不一定准确,因此,可选地,根据示例性实施例,在步骤s202,当以第一码率发送音频之后的预定时间段(在下文中,可被表示为t)内从接收端接收的都是网络不拥塞反馈时,以第三码率向接收端发送以第一码率编码的携带冗余音频包的音频。由于在发送音频之后的预定时间段t内接收到的反馈都指示网络不拥塞的情况下,才以第三码率向接收端发送携带冗余音频包的音频,因此,这样可以提高对于网络状态判断的准确性,进一步确保是在网络真的转好的情况下发送音频。

具体地,在步骤s202中可首先计算第二码率brn-1和第一码率brn之间的码率差brd=brn-1–brn,然后,以介于第二码率brn-1和第一码率brn之间的第三码率发送以第一码率brn编码的携带冗余音频包的音频。图3是示出本公开的示例性实施例的携带冗余音频包的示意图。如图3的(a)所示,每n个包中可多携带一个冗余音频包。如果以第二码率brn编码的包的大小为sn,则该冗余音频包的大小sn*brd/brn,折合码率为brd/n。这时,虽然编码码率还是brn,但是的实际发送码率变为了brn+(brd/n),也就是说,此时,第三码率为brn+(brd/n)。尽管在以上示例中,每n个包中多携带一个冗余音频包,然而,本公开不限于此,也可以每n个包携带多于一个冗余音频包,例如,每n个包携带两个冗余音频包、三个冗余音频包等等。根据示例性实施例,第三码率(即,实际发送码率)=第一码率+m×(第二码率-第一码率)/n。这里,n是大于或等于1的正整数,m是正整数并且1≤m<n。也就是说,音频的每n个包可以携带m个冗余音频包。

根据本公开示例性实施例,所携带的冗余音频包可以用于丢包补偿。例如,如果每n个包中携带的冗余音频包是这n个包中的一个包,则当这个包丢失时,可以利用携带的该冗余音频包来进行丢包补偿,从而可防止数据丢失造成的影响。

可选地,上述音频发送方法在步骤s202之后,当以第三码率发送携带冗余音频包的音频之后从接收端接收到网络拥塞反馈时,以第一码率向接收端发送以第一码率编码的不携带冗余音频包的音频。例如,如果在步骤s203之后收到的网络状态反馈为true,即,指示网络拥塞,则说明此时网络带宽并没有恢复,应立即停止提升音频的码率,而仍然以最初的第一码率brn发送音频。此外,在预定时间段t过去之后,可再将音频的码率提高到第三码率,即,可继续以第三码率向接收端发送以第一码率编码的携带冗余音频包的音频,以对网络状态进行试探。

可选地,在步骤s202之后,当以第三码率发送携带冗余音频包的音频之后从接收端接收到网络不拥塞反馈(例如,网络状态反馈的值为false)时,以第四码率向接收端发送以第一码率编码的比先前以第三码率发送音频时携带更多数量的冗余音频包的音频。这里,第四码率可以大于第三码率且小于或等于第二码率。假设在步骤s203如图3的(a)所示每n个包携带一个冗余音频包,则此时例如可如图3的(b)所示每n个包携带两个冗余音频包,但此时所携带的冗余音频包的个数不限于两个,例如,还可以是三个,四个等等,只是比最初在步骤s202以第三码率发送音频时所携带的冗余音频包多即可。

此外,如上所述,由于从接收端收到的反馈可能不一定准确,因此,可选地,根据示例性实施例,当以第三码率发送携带冗余音频包的音频之后的预定时间段内从接收端接收的都是网络不拥塞反馈时,以第四码率向接收端发送以第一码率编码的比先前以第三码率发送音频时携带更多数量的冗余音频包的音频。由于在发送音频之后的预定时间段t内接收到的反馈都指示网络不拥塞的情况下,才以第四码率向接收端发送携带更多数量的冗余音频包的音频,因此,这样可以提高对于网络状态判断的准确性,进一步确保是在网络真正转好的情况下发送音频。

可选地,当以等于第二码率的第四码率发送以第一码率编码的携带冗余音频包的音频之后从接收端接收到网络不拥塞反馈(例如,网络状态反馈的值为false)时,以第二码率发送以第二码率编码的不携带冗余音频包的音频。也就是说,在逐步将音频的发送码率提升到第二码率之后,如果接受到的网络状态反馈的值仍为false,则将音频的编码码率提升到第二码率brn-1,此时不再携带冗余音频包。由于在网络带宽充足时将编码码率从较低的第二码率提升到了较高的第二码率,因此可以保持通话的音质和持续可用性。

同样地,为了保证网络状态判断的准确性,当以等于第二码率的第四码率发送以第一码率编码的携带冗余音频包的音频之后的预定时间段内从接收端接收的都是网络不拥塞反馈时,以第二码率发送以第二码率编码的不携带冗余音频包的音频。

这样,如果网络带宽变好,高于第二码率brn-1,则可以在n*t时间后将码率从第一码率brn提升到第二码率brn-1。如果网络带宽处于第一码率brn和第二码率brn-1之间,则在收到指示网络拥塞的反馈时,只超发了很少的数据到网络上,不会造成严重的网络阻塞。

图4是本公开的示例性实施例的音频发送装置的框图。

参照图4,音频发送装置400可包括反馈接收单元401和音频发送单元402。具体而言,反馈接收单元401可被配置为从接收端接收关于网络状态的反馈。音频发送单元402可被配置为:按照第一码率向接收端发送以第一码率编码的音频,其中,第一码率是发送端以第二码率发送音频时,接收到网络拥塞反馈后降低码率得到的;当从接收端接收到网络不拥塞反馈时,以第三码率向接收端发送以第一码率编码的携带冗余音频包的音频。这里,第三码率小于第二码率且大于第一码率。根据本公开示例性实施例的音频发送装置由于在接收到网络不拥塞反馈的情况下并非直接将码率提升到第二码率,而是在保持当前编码码率(第一码率)的情况下以第三码率(小于第二码率且大于第一码率)发送携带冗余音频包的音频(也就是说,保持编码码率不变而是提高实际发送码率),所以可以有效地避免在网络带宽受限的情况下由于超发而导致网络阻塞。

由于图2所示的音频发送方法可由图4所示的音频发送装置400来执行,并且音频发送单元402可分别执行与图2中的步骤s201和步骤s202对应的操作,因此,关于图4中的音频发送单元402所执行的操作中涉及的任何相关细节均可参见关于图2的相应描述,这里都不再赘述。此外,可选地,在步骤s202之后还可执行的操作也可由音频发送单元执行,这些操作的细节也可参见上文中在描述这些操作时提及的内容,这里也都不再赘述。

此外,需要说明的是,尽管以上在描述音频发送装置400时将其划分为用于分别执行相应处理的单元,然而,本领域技术人员清楚的是,上述各单元执行的处理也可以在音频发送装置400不进行任何具体单元划分或者各单元之间并无明确划界的情况下执行。此外,音频发送装置400还可包括其他单元,例如,存储单元等等。

图5是根据本公开实施例的电子设备500的框图。参照图5,电子设备500可包括至少一个存储器501和至少一个处理器502,所述至少一个存储器中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器执行时,执行根据本公开实施例的音频发送方法。

作为示例,电子设备可以是pc计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。

在电子设备中,处理器可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。

处理器可运行存储在存储器中的指令或代码,其中,存储器还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。

存储器可与处理器集成为一体,例如,将ram或闪存布置在集成电路微处理器等之内。此外,存储器可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器和处理器可在操作上进行耦合,或者可例如通过i/o端口、网络连接等互相通信,使得处理器能够读取存储在存储器中的文件。

此外,电子设备还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备的所有组件可经由总线和/或网络而彼此连接。

根据本公开的实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开示例性实施例的音频发送方法。这里的计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd-rom、cd-r、cd+r、cd-rw、cd+rw、dvd-rom、dvd-r、dvd+r、dvd-rw、dvd+rw、dvd-ram、bd-rom、bd-r、bd-rlth、bd-re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态硬盘(ssd)、卡式存储器(诸如,多媒体卡、安全数字(sd)卡或极速数字(xd)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。

根据本公开的实施例中,还可提供一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令被处理器执行时实现根据本公开实施例的音频发送方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1