掌桥专利:专业的专利平台
掌桥专利
首页

一种音频播放方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 19:58:30


一种音频播放方法、装置、电子设备及存储介质

技术领域

本发明实施例涉及音频播放技术领域,特别涉及一种音频播放方法、装置、电子设备及存储介质。

背景技术

在线音乐是用户利用电脑或者手机客户端通过互联网或者移动互联网在线试听、下载音乐。业内对无线音乐和在线音乐的定义比较混杂,准确的来说无线音乐与在线音乐是包含与被包含的关系,都是在互联网或者移动互联网内进行的音乐服务和消费的行为,两者无本质的区别。在线音乐/电台仅支持在全球广域网(web)上或者平台应用程序(APP)界面上使用,同时涉及账号登录,甚至是收费账号。且大部分在线音乐/电台不提供对外获取音乐的接口。

发明人发现相关技术中至少存在如下问题:在没有全球广域网(web)和APP操作界面或者不支持音乐平台APP的SIP网络有源音箱(Sip speaker)中无法实现授权登录,因此目前SIP网络有源音箱无法播放在线音乐/电台。

发明内容

本发明实施方式的目的在于提供一种音频播放方法、装置、电子设备及存储介质,使得SIP网络有源音箱实现播放在线音乐/电台这一功能。

为解决上述技术问题,本发明的实施方式提供了一种音频播放方法,应用于SIP网络有源音箱,包括:通过HTTPS协议向用户设备的浏览器发送证书获取所述浏览器的信任;其中,所述浏览器能够通过音频捕获技术捕获所述设备正在播放的音频;与所述浏览器建立数据交换网络通道;通过所述数据网络交换通道,接收所述浏览器捕获到的所述正在播放的音频并播放。

本发明的实施方式还提供了一种音频播放装置,包括:协议访问模块,用于通过HTTPS协议向浏览器发送证书获取所述浏览器的信任;其中,所述浏览器能够通过音频捕获技术捕获其所处的设备正在播放的音频;数据交换模块,用于与所述浏览器建立数据交换网络通道;音频播放模块,用于通过所述数据网络交换通道,接收所述浏览器捕获到的所述正在播放的音频并播放。

本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的音频播放方法。

本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的音频播放方法。

在本发明实施方式中,通过HTTPS协议向浏览器发送证书获取所述浏览器的信任;其中,所述浏览器能够通过音频捕获技术捕获其所处的设备正在播放的音频;与所述浏览器建立数据交换网络通道;通过所述数据网络交换通道,接收所述浏览器捕获到的所述正在播放的音频并播放。当用户在web或者应用软件登录在线音乐/电台后,能够利用浏览器自身支持的音频捕获技术,获取到在线音乐或者本地应用的音频,再通过建立浏览器和SIP网络有源音箱之间的媒体通道连接,SIP网络有源音箱接收到浏览器采集的音频,随后SIP网络有源音箱完成音频的播放,进而开创性的使得SIP网络有源音箱具备了播放在线音乐/电台这一功能。

另外,所述与所述浏览器建立数据交换网络通道,包括:与所述浏览器进行通讯连接,在所述通讯连接完成后通过DTLS协议完成握手;与所述浏览器进行SRTP密钥交换,采用SPTP协议与所述浏览器进行数据交换以建立所述数据交换网络通道。提升了实时音频数据的传输安全性。

另外,所述与所述浏览器进行通讯连接,包括:接收来自所述浏览器的第一会话描述协议并向所述浏览器发送第二会话描述协议;其中,所述第一会话描述协议携带有所述浏览器所处的设备的网络地址信息,所述第二会话描述协议携带有所述SIP网络有源音箱的网络地址信息;根据所述第一会话描述协议和所述第二会话描述协议与所述浏览器进行连通性检查,通过所述连通性检查选择出能优先连通的IP地址和端口实现与所述浏览器的通讯连接。使得用户在无需安装任何插件或者第三方的软件的情况下,进行数据分享和音频传输。

另外,所述根据所述第一会话描述协议和所述第二会话描述协议与所述浏览器进行连通性检查,包括:根据所述第一会话描述协议和所述第二会话描述协议所携带的信息,通过STUN协议发出绑定请求,如果收到与所述绑定请求对应的绑定回应,则代表所述连通性检查成功;若未收到所述绑定回应,则重新发送所述绑定请求直到超时,若超时则认为所述连通性检查失败。连通性检查可以筛选出能优先连通的IP地址和端口作为双方网络通信的IP和端口,减少延迟的可能性。

另外,所述第一会话描述协议所携带的信息,包括:所述浏览器所处的设备的IP、端口号、网络传输方式、音频编解码格式;所述第二会话描述协议所携带的信息,包括:所述SIP网络有源音箱的IP、端口号、网络传输方式以及音频编解码格式。

另外,所述接收所述浏览器捕获到的所述正在播放的音频并播放,包括:接收所述浏览器捕获到的编码后的所述正在播放的音频,对所述编码后的正在播放的音频进行解码后进行播放;其中,所述浏览器捕获所述正在播放的音频,是针对全频带音频进行的所述捕获,会启用所述浏览器的所述全频带音频的处理模式。

另外,在接收到所述浏览器捕获到的所述正在播放的音频后,将所述音频转发至其他放音设备或将所述音频进行存储。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是根据本发明的一实施例提供的音频播放方法流程图;

图2是根据本发明的一实施例中通过协议传输验证信息的网络链接图;

图3是根据本发明的一实施例中与浏览器建立安全音频传输通路的方法流程图;

图4是本发明另一实施例的音频播放装置的结构示意图;

图5是本发明另一实施例的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。

本发明的一实施方式涉及一种音频播放方法,可以应用在SIP网络有源音箱(SipSpeaker),也可以是不能支持在线音乐播放的如手机,电脑等带有音频播放功能的终端设备。在本实施方式中,通过HTTPS协议向用户设备的浏览器发送证书获取所述浏览器的信任;其中,所述浏览器能够通过音频捕获技术捕获所述设备正在播放的音频;与所述浏览器建立数据交换网络通道;通过所述数据网络交换通道,接收所述浏览器捕获到的所述正在播放的音频并播放,使得当用户在web或者应用软件登录在线音乐/电台后,能够利用浏览器自身支持的音频捕获技术,获取到在线音乐或者本地应用的音频,再通过建立浏览器和SIP网络有源音箱之间的媒体通道连接,SIP网络有源音箱接收到浏览器采集的音频,随后SIP网络有源音箱完成音频的播放,进而开创性的使得SIP网络有源音箱具备了播放在线音乐/电台这一功能。下面对本实施方式的音频播放方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。

如图1所示,在步骤101中,通过HTTPS协议向用户设备的浏览器发送证书获取所述浏览器的信任;

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是一种客户端浏览器或其他程序与Web服务器之间的应用层通信协议。而HTTPS协议(HyperText TransferProtocol over Secure Socket Layer):可以理解为HTTP+SSL/TLS,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL,用于安全的HTTP数据传输。

在HTTPS协议交互过程中存在一个证书交换的过程,浏览器接收到Sip Speaker设备的证书后,会询问用户是否添加对设备证书的信任,用户添加信任后,浏览器可以通过HTTPS协议和Sip Speaker设备进行数据交互。

其中,该浏览器能够通过音频捕获技术捕获所述设备正在播放的音频,例如Google Chrome和Microsoft Edge这些浏览器,当用户在终端设备上打开音乐软件播放音频或者播放本地音频时,浏览器可以采用内置的音频捕获(Screen Capture)功能将正在播放的音频捕获并且可以设置捕获的音频格式。

在步骤102中,与所述浏览器建立数据交换网络通道,用于传输被捕获的音频;

为了加强数据交换网络通道的安全性,在一个例子中,在建立数据网络交换通道时,先与浏览器进行通讯连接,通讯连接的方式可以是:在浏览器上通过自定义协议,向SIP网络有源音箱Sip Speaker发送会话描述协议(简称SDP),Sip Speaker接收来自所述浏览器的第一会话描述协议后并向所述浏览器发送第二会话描述协议。其中,自定义协议可以是WebSocket或者HTTPS协议。WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocketAPI也被W3C定为标准。WebSocket协议与HTTP协议类似,也是基于TCP协议的应用层协议。不同的是,WebSocket建立连接后会保持连接状态,而不像HTTP请求-响应模式。

上述的第一会话描述协议是浏览器发送给Sip Speaker的,携带有所述浏览器所处的设备的网络地址信息,所述第二会话描述协议是Sip Speaker发送给浏览器所处的设备的,携带有所述SIP网络有源音箱的网络地址信息。第一会话描述协议所携带的信息包括网络信息,音频信息,安全需要的信息等,可以是:所述浏览器使用NAT技术获取浏览器所在设备的网络的IP、端口号、网络传输方式等网络地址信息(网络地址信息简称Candidate)以及浏览器所支持的音频编解码格式等信息,音频编解码格式(codec信息)包括编码类型,码率,通道数等;第二会话描述协议所携带的信息可以包含除了所述SIP网络有源音箱使用NAT技术获取的SIP有源音箱的网络地址信息(IP、端口号、网络传输方式等)以外的其他信息,例如以及音频编解码格式等信息。

随后根据所述第一会话描述协议和所述第二会话描述协议所携带的信息与所述浏览器进行连通性检查,通过所述连通性检查实现与所述浏览器的通讯连接,连通性检查的过程也是选择能优先连通的IP地址和端口作为双方网络通信的IP和端口的过程,为便于理解,此处给出一个连通性检查的例子,在这个例子中,在完成SDP交换后,将根据第一会话描述协议和所述第二会话描述协议所携带的信息,通过STUN(Session TraversalUtilities for NAT,NAT会话穿越应用程序)协议发出绑定请求(Binding request),如果收到与所述绑定请求(Binding request)对应的绑定回应(Binding response),则代表所述连通性检查成功;若未收到所述绑定回应,则重新发送所述绑定请求直到超时,若超时则认为所述连通性检查失败。此例中的连通性检查可以选择能优先连通的IP地址和端口作为双方网络通信的IP和端口。通过连通性检查后实现与所述浏览器的通讯连接。

与所述浏览器进行通讯连接后,在所述通讯连接完成后通过数据包传输层安全性协议DTLS完成握手;数据包传输层安全性协议DTLS(Datagram Transport LayerSecurity),是一种通信协议,旨在保护数据隐私并防止窃听和篡改。它基于传输层安全性(TLS)协议,该协议为基于计算机的通信网络提供安全性。在数据通信中,握手指代的是由硬件或软件管理的事件序列,在进行信息交换之前,需要对操作模式的状态互相达成协定。在接收站和发送站之间建立通信参数的过程。

采用安全实时传输协议SRTP与所述浏览器进行密钥交换以建立所述数据交换网络通道。SRTP(Secure Real-time Transport Protocol)是一种用于实时传输的加密和身份验证协议,它是RTP(Real-time Transport Protocol)的一种扩展,主要用于保护实时音视频数据的传输安全性。

在一个特定的例子中,建立数据交换网络通道的网络链接图如图2所示,在通过HTTP协议握手成功后,通过自定义协议完成浏览器的WebRTC和Sip Speaker的SDP交换。其中,WebRTC(Web Real Time Communications)是一项实时通讯技术,它允许网络应用或者站点,通过NAT建立浏览器之间P2P(Peer to Peer)的连接,实现视频流和(或)音频流或者其他任意数据的安全传输。WebRTC包含的这些标准(HTTPS、NAT、P2P技术、DTLS协议、ScreenCapture等)使用户在无需安装任何插件或者第三方的软件的情况下,创建P2P的数据分享和电话会议成为可能,目前浏览器(Google Chrome和Microsoft Edge等)已经内置了该技术。通过NAT穿透技术,完成P2P链接,在现实Internet网络环境中,大多数计算机主机都位于防火墙或NAT之后,只有少部分主机能够直接接入公网Internet。那么两台设备需要P2P通信的时候,会首先使用NAT技术获取双方能够通信的IP地址,再使用转换后的IP进行通信。其中,P2P(Peer to Peer)即点对点网络通讯技术,一般先通过NAT(Network AddressTranslation)协议完成通讯双方的网络地址转换,确保双方网络能联通后,再使用SSL协议(一般使用DTLS)建立安全的网络传输通路。

在步骤103中,通过数据网络交换通道,接收浏览器捕获到的正在播放的音频并播放。其中,正在播放的音频,是浏览器使用内置的音频捕获技术(Screen Capture)捕获到的。

在一个例子中,浏览器捕获音频的同时还禁用浏览器的内置音频处理模块(AEC,NS)并设置音频格式为opus。opus是一种高质量有损的音频编解码格式,适用于网络上低延迟的声音传输,它是一种开放的格式,使用上没有任何专利限制。浏览器将终端设备系统或浏览器的Tab页输出的声音捕获并完成编码后,在通过上述搭建好的数据网络交换通道传输给SIP网络有源音箱(Sip Speaker)。Sip Speaker获取到音频数据后结合已实现的音频处理模块实现音频解码播放。

在一个例子中,在接收到浏览器捕获到的所述正在播放的音频后,还可以将音频转发至其他放音设备,交由其他放音设备进行储存或播放,也可以自身将处理好的音频保存至本地,便于后续该音频的再一次使用,储存与转发并不矛盾,这两者可以交替或同时进行。

在一个特定的例子中,保证音频数据安全且能高效的使得SIP网络有源音箱具备了播放在线音乐/电台这一功能的流程,如图3所示,在步骤301中,浏览器和SIP网络有源音箱(Sip Speaker)通过HTTPS协议添加证书信任后,在步骤302中,可以运行浏览器的用户终端开始播放音频,随后进入步骤303,浏览器在检测到音频播放时通过自定义协议和SIP网络有源音箱交换SDP并在步骤304中通过交换完的SDP进行浏览器和SIP网络有源音箱进行连通性检查,选择出最优的网络通讯的IP和端口后进入步骤305,浏览器和SIP网络有源音箱通过DTLS协议完成SRTP密钥交换,在完成密钥交换之后便建立了安全的数据交换通道,此时进入到步骤306中,浏览器可以将通过音频捕获技术采集到的opus格式的实时音频流编码后发送给SIP网络有源音箱,在步骤307中,SIP网络有源音箱接收到音频后解码实现音频处理,将处理的音频储存或者转发出去,如转发到其他放音设备效果是能实现更大范围更大距离的放音,存储的效果是便于后续该音频的再一次使用等。

在本实施方式中,通过HTTPS协议向浏览器发送证书获取所述浏览器的信任;其中,所述浏览器能够通过音频捕获技术捕获其所处的设备正在播放的音频;与所述浏览器建立数据交换网络通道;通过所述数据网络交换通道,接收所述浏览器捕获到的所述正在播放的音频并播放。当用户在web或者应用软件登录在线音乐/电台后,能够利用浏览器自身支持的音频捕获技术,获取到在线音乐或者本地应用的音频,再通过建立浏览器和SIP网络有源音箱之间的媒体通道连接,SIP网络有源音箱接收到浏览器采集的音频,随后SIP网络有源音箱完成音频的播放,进而开创性的使得SIP网络有源音箱具备了播放在线音乐/电台这一功能。

上面方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明另一施方式涉及一种音频播放装置,如图4所示,包括:协议访问模块401,用于通过HTTPS协议向浏览器发送证书获取所述浏览器的信任;其中,所述浏览器能够通过音频捕获技术捕获其所处的设备正在播放的音频;数据交换模块402,用于与所述浏览器建立数据交换网络通道;音频播放模块403,用于通过所述数据网络交换通道,接收所述浏览器捕获到的所述正在播放的音频并播放。

在一个例子中,所述数据交换模块402具体用于:与所述浏览器进行通讯连接,在所述通讯连接完成后通过数据包传输层安全性协议DTLS完成握手;采用安全实时传输协议SRTP与所述浏览器进行密钥交换交换以建立所述数据交换网络通道。

在一个例子中,所述与所述浏览器进行通讯连接,包括:接收来自所述浏览器的第一会话描述协议并向所述浏览器发送第二会话描述协议;其中,所述第一会话描述协议携带有所述浏览器所处的设备的网络地址信息,所述第二会话描述协议携带有所述SIP网络有源音箱的网络地址信息;根据所述第一会话描述协议和所述第二会话描述协议所携带的所述网络地址信息与所述浏览器进行连通性检查,通过所述连通性检查实现与所述浏览器的通讯连接。

在一个例子中,所述根据所述第一会话描述协议和所述第二会话描述协议所携带的所述网络地址信息与所述浏览器进行连通性检查,包括:根据所述第一会话描述协议和所述第二会话描述协议所携带的所述网络地址信息,通过STUN协议发出绑定请求,如果收到与所述绑定请求对应的绑定回应,则代表所述连通性检查成功;若未收到所述绑定回应,则重新发送所述绑定请求直到超时,若超时则认为所述连通性检查失败。

在一个例子中,所述第一会话描述协议所携带的信息,包括:所述浏览器所处的设备的IP、端口号、网络传输方式、音频编解码格式;所述第二会话描述协议所携带的信息,包括:所述SIP网络有源音箱的IP、端口号、网络传输方式以及音频编解码格式。

在一个例子中,所述接收所述浏览器捕获到的所述正在播放的音频并播放,包括:接收所述浏览器捕获到的编码后的所述正在播放的音频,对所述编码后的正在播放的音频进行解码后进行播放;其中,所述浏览器捕获所述正在播放的音频,是针对全频带音频进行的所述捕获,会启用所述浏览器的所述全频带音频的处理模式。

在一个例子中,所述装置还包括音频转发模块,用于在接收到所述浏览器捕获到的所述正在播放的音频后,将所述音频转发至其他放音设备或将所述音频进行存储。

在本实施方式中,通过HTTPS协议向浏览器发送证书获取所述浏览器的信任;其中,所述浏览器能够通过音频捕获技术捕获其所处的设备正在播放的音频;与所述浏览器建立数据交换网络通道;通过所述数据网络交换通道,接收所述浏览器捕获到的所述正在播放的音频并播放。当用户在web或者应用软件登录在线音乐/电台后,能够利用浏览器自身支持的音频捕获技术,获取到在线音乐或者本地应用的音频,再通过建立浏览器和SIP网络有源音箱之间的媒体通道连接,SIP网络有源音箱接收到浏览器采集的音频,随后SIP网络有源音箱完成音频的播放,进而开创性的使得SIP网络有源音箱具备了播放在线音乐/电台这一功能。

不难发现,本实施方式为与上述方法实施方式相对应的装置实施例,本实施方式可与上述方法实施方式互相配合实施。上述方法实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述方法实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本发明的另一实施方式涉及一种电子设备,如图5所示,包括至少一个处理器501;以及,与至少一个处理器通信连接的存储器502;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行如上述的音频播放方法。

其中,存储器502和处理器501采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器501和存储器502的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器501处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器501。

处理器501负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器502可以被用于存储处理器501在执行操作时所使用的数据。

本发明另一实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

相关技术
  • 音频播放方法、装置、电子设备及存储介质
  • 音频播放方法、装置、电子设备及存储介质
  • 一种音频播放方法、装置、设备及存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 音频播放方法、装置、电子设备及计算机可读介质
  • 音频播放方法、音频播放装置、电子设备和可读存储介质
  • 一种音频播放方法、装置、电子设备及存储介质
技术分类

06120116502790