CN113259385B - Echo eliminating method and device for audio playing and electronic equipment - Google Patents

Echo eliminating method and device for audio playing and electronic equipment Download PDF

Info

Publication number
CN113259385B
CN113259385B CN202110677425.6A CN202110677425A CN113259385B CN 113259385 B CN113259385 B CN 113259385B CN 202110677425 A CN202110677425 A CN 202110677425A CN 113259385 B CN113259385 B CN 113259385B
Authority
CN
China
Prior art keywords
audio
media stream
data
data stream
stream
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.)
Active
Application number
CN202110677425.6A
Other languages
Chinese (zh)
Other versions
CN113259385A (en
Inventor
张亚楠
王树波
吴西亚
涂远友
任晓明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Tuoke Network Technology Co ltd
Original Assignee
Beijing Tuoke Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Tuoke Network Technology Co ltd filed Critical Beijing Tuoke Network Technology Co ltd
Priority to CN202110677425.6A priority Critical patent/CN113259385B/en
Publication of CN113259385A publication Critical patent/CN113259385A/en
Application granted granted Critical
Publication of CN113259385B publication Critical patent/CN113259385B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M9/00Arrangements for interconnection not involving centralised switching
    • H04M9/08Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
    • H04M9/082Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/02Circuits for transducers, loudspeakers or microphones for preventing acoustic reaction, i.e. acoustic oscillatory feedback

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Educational Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Educational Administration (AREA)
  • Acoustics & Sound (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Otolaryngology (AREA)
  • Telephonic Communication Services (AREA)

Abstract

The invention provides an echo eliminating method, device and electronic equipment for audio playing, wherein the method comprises the following steps: binding the source data by using a media stream object to generate an audio data stream; establishing a media link according to the set Remote Description instruction; binding the audio track object to an input data stream end of the local media stream session connection object; creating a media stream object for an output data stream end of the far-end media stream session connection object, and binding and receiving a returned audio data stream; creating a new HTML5 audio tag in the web; and if the same frequency spectrum data exists, the audio data flow of the echo cancellation queue is discarded. The embodiment of the invention solves the problem that the audio call in the classroom has echo when the web page in the browser plays the audio data through the audio tag, and ensures the teaching effect of the online education classroom.

Description

Echo eliminating method and device for audio playing and electronic equipment
Technical Field
The invention relates to the technical field of online education, in particular to an echo eliminating method and device for audio playing, electronic equipment and a computer readable storage medium.
Background
In the field of online education, an online classroom is a main business product, and a web application of an online audio interactive classroom is a browser webpage with the functions of audio and video communication, audio and video playing, real-time chatting, real-time white board and the like. The audio call and the audio play are important functions in the teaching interaction process, and the guarantee of the audio call and the play quality is an important guarantee for smoothly implementing the teaching process.
When an audio call is established in a classroom, audio tags of HTML5 (HTML (Hypertext Markup Language)) are used to play the sound in the classroom. In order to save cost, the audio files with short multimedia products are generally sent by a signaling server to be played, and the personnel in the room play the audio files through an audio tag. and the audio tag plays the audio data, and the audio data is transmitted to the local loudspeaker by calling the browser to complete playing.
The echo is generated because the microphone collects the sound (called acoustic echo) played by the audio tag through the loudspeaker during the audio call. Other people in the class hear the played repeated audio, once the audio tag plays the sound, and once the microphone collects the same sound played by the loudspeaker, and the echo is not allowed in any case.
Disclosure of Invention
In order to solve the existing technical problem, embodiments of the present invention provide an echo cancellation method and apparatus for audio playing, an electronic device, and a computer-readable storage medium.
In a first aspect, an embodiment of the present invention provides an echo cancellation method for audio playing, including:
acquiring source data of an audio playing file to be played by an audio tag, and binding the source data by using a media stream object to generate an audio data stream;
respectively creating a local media stream session connection object and a Remote media stream session connection object, and establishing a media link according to a set Remote Description instruction;
acquiring an audio track object containing the audio data stream, and binding the audio track object with an input data stream end of the local media stream session connection object;
receiving an audio data stream transmitted by an input data stream end of the local media stream session connection object, creating a media stream object for an output data stream end of the remote media stream session connection object, and binding and receiving the returned audio data stream;
creating a new HTML5 audio tag in the web;
setting the media stream object as a source file object of the HTML5 audio tag, and binding an audio data stream to be played for the HTML5 audio tag;
acquiring first frequency spectrum data of the audio data stream to be played, and adding the first frequency spectrum data to an echo elimination queue of WebRTC;
acquiring second spectrum data of an audio data stream acquired by a microphone, and performing spectrum verification on the second spectrum data and the first spectrum data;
and if the same frequency spectrum data exists, the audio data flow of the echo cancellation queue is discarded.
In a second aspect, an embodiment of the present invention provides an echo cancellation device for audio playing, including:
the data binding module is used for acquiring source data of an audio playing file to be played by the audio tag, and binding the source data by using a media stream object to generate an audio data stream;
an object creating module, configured to create a local media stream session connection object and a Remote media stream session connection object, respectively, and create a media link according to a set Remote Description instruction;
a track binding module, configured to obtain an audio track object including the audio data stream, and bind the audio track object to an input data stream end of the local media stream session connection object;
a media creating module, configured to receive an audio data stream transmitted by an input data stream end of the local media stream session connection object, create a media stream object for an output data stream end of the remote media stream session connection object, and bind and receive a returned audio data stream;
a tag creation module to create a new HTML5 audio tag in the web;
the tag binding module is used for setting the media stream object as a source file object of the HTML5 audio tag, and binding the audio data stream to be played for the HTML5 audio tag;
the queue adding module is used for acquiring first frequency spectrum data of the audio data stream to be played and adding the first frequency spectrum data to an echo eliminating queue of the WebRTC;
the frequency spectrum checking module is used for acquiring second frequency spectrum data of an audio data stream acquired by a microphone and carrying out frequency spectrum checking on the second frequency spectrum data and the first frequency spectrum data;
and the data discarding module is used for discarding the audio data stream of the echo cancellation queue if the same frequency spectrum data is found to exist.
In a third aspect, an embodiment of the present invention provides an electronic device, including a bus, a transceiver, a memory, a processor, and a computer program stored on the memory and executable on the processor, where the transceiver, the memory, and the processor are connected via the bus, and when executed by the processor, the computer program implements the steps in the courseware loading method described above.
In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored, where the computer program is executed by a processor to implement the steps in the echo cancellation method for audio playing described above.
According to the method, the device, the electronic equipment and the computer readable storage medium provided by the embodiment of the invention, the audio data played outwards by the audio tag is placed in the WebRTC echo elimination queue in advance, and the frequency spectrum data of the audio data is compared with the frequency spectrum data of the audio data collected by the microphone; if the same frequency spectrum appears, audio data in the WebRTC echo elimination queue are eliminated from the queue, the new audio tag normally plays the audio data through the loudspeaker, the audio data played by the new audio tag is not included when the microphone audio data is played in the online classroom, under the condition that normal conversation and audio playing are ensured, the problem that the class audio conversation echoes appear when the web page in the browser plays the audio data through the audio tag is solved, and the teaching effect of the online education classroom is ensured.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments or the background art of the present invention, the drawings required to be used in the embodiments or the background art of the present invention will be described below.
Fig. 1 is a flowchart illustrating an echo cancellation method for audio playing according to an embodiment of the present invention;
fig. 2 is a flowchart illustrating a specific method of step S11 in the echo cancellation method for audio playing according to the embodiment of the present invention;
fig. 3 is a flowchart illustrating a specific method of step S13 in the echo cancellation method for audio playing according to the embodiment of the present invention;
fig. 4 is a flowchart illustrating a specific method of step S15 in the echo cancellation method for audio playing according to the embodiment of the present invention;
fig. 5 is a flowchart illustrating a specific method of step S17 in the echo cancellation method for audio playing according to the embodiment of the present invention;
fig. 6 is a schematic structural diagram illustrating an echo cancellation device for audio playing according to an embodiment of the present invention;
fig. 7 is a schematic structural diagram of an electronic device for echo cancellation for audio playing according to an embodiment of the present invention.
Detailed Description
As will be appreciated by one skilled in the art, embodiments of the present invention may be embodied as methods, apparatus, electronic devices, and computer-readable storage media. Thus, embodiments of the invention may be embodied in the form of: entirely hardware, entirely software (including firmware, resident software, micro-code, etc.), a combination of hardware and software. Furthermore, in some embodiments, embodiments of the invention may also be embodied in the form of a computer program product in one or more computer-readable storage media having computer program code embodied in the medium.
The computer-readable storage media described above may take any combination of one or more computer-readable storage media. The computer-readable storage medium includes: an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of the computer-readable storage medium include: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only Memory (ROM), an erasable programmable read-only Memory (EPROM), a Flash Memory, an optical fiber, a compact disc read-only Memory (CD-ROM), an optical storage device, a magnetic storage device, or any combination thereof. In embodiments of the invention, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, device, or apparatus.
The computer program code embodied on the computer readable storage medium may be transmitted using any appropriate medium, including: wireless, wire, fiber optic cable, Radio Frequency (RF), or any suitable combination thereof.
Computer program code for carrying out operations for embodiments of the present invention may be written in one or more programming languages, including an object oriented programming language such as: java, Smalltalk, C + +, and also include conventional procedural programming languages, such as: c or a similar programming language. The computer program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be over any of a variety of networks, including: a Local Area Network (LAN) or a Wide Area Network (WAN), which may be connected to the user's computer, may be connected to an external computer.
Embodiments of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus, electronic devices, and computer-readable storage media according to embodiments of the invention.
It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions. These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing apparatus to function in a particular manner. Thus, the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The embodiments of the present invention will be described below with reference to the drawings.
WebRTC (Web-Real-Time Communication) is an API (application programming interface) that supports a Web browser to perform Real-Time voice conversation or video conversation. The WebRTC is provided with an echo cancellation algorithm module, and the WebRTC can record the frequency spectrum (frequency distribution curve) played by the current audio data when the audio data transmitted by the WebRTC is played by a loudspeaker. When the WebRTC starts the microphone to collect data, the recorded audio frequency spectrum data of the loudspeaker and the data collected by the microphone are taken out and compared in the WebRTC, and the audio data with the same frequency spectrum data is abandoned.
Fig. 1 shows a flowchart of an echo cancellation method for audio playing according to an embodiment of the present invention. As shown in fig. 1, the method includes:
step S11: acquiring source data of an audio play file to be played by an audio tag, and binding the source data by using a Media Stream Object (Media Stream Object) to generate an audio data Stream;
as shown in fig. 2, in the embodiment of the present invention, step S11 may specifically include:
step S1101: acquiring a Source address of an audio playing file of the audio tag through a Source object (src object) of the audio tag;
step S1103: creating an Audio Context Object through Web Audio to perform Audio operation, and loading the address of the Audio playing file by using a decode Audio Data interface to obtain source Data of the Audio playing file;
in an embodiment of the present invention, web audio is a set of standard api libraries for web-processed audio.
Step S1105: creating a Media Stream object by using a Create Media Stream Source, and binding Source data of the audio playing file by using the Media Stream object to generate an audio data Stream;
in the embodiment of the present invention, the media stream object is defined in the WebRTC standard as follows:
each media stream object contains zero or more tracks, in particular an audio track and a video track. All tracks in a media stream object will be synchronized at presentation, and no synchronization is required between different media stream objects.
Step S13: creating a media stream session connection object (RTC Peer connection object), and establishing a media link according to a set Remote Description instruction;
in this embodiment of the present invention, the media stream session connection object may specifically include: and (4) actually transmitting the audio and video media stream content.
The media streaming session connection object is defined in the WebRTC standard as follows: a media streaming session connection object has an associated Interactive Connectivity Establishment protocol (ICE) proxy, media streaming session connection signaling state, ICE collection state, and ICE connection state, which are initialized when the media streaming session connection object is created. One media streaming session connection object has two associated stream sets, one is a local stream set representing the media streams sent out by the current media streaming session connection object, and the other is a far-end stream set representing that the current media streaming session connection object is receiving media streams from a far-end. The set of media streams is initialized when the media stream session connection object is created.
As shown in fig. 3, in the embodiment of the present invention, step S13 may include:
step S1301: generating a callback notification of the audio data stream according to the step S1105, and calling a monitoring callback function;
step S1303: creating a local media stream Session connection object for receiving an audio data stream generated by an audio tag, calling a create Offer instruction to create an Offer, storing the SDP (Session Description Protocol) content of the Offer, and sending the audio data stream of the audio tag outwards;
step S1305: creating a far-end media stream session connection object, which is used for receiving an audio tag audio data stream sent by an offer, calling a create Answer instruction to create an Answer, and storing the SDP content of the Answer;
step S1307: using set Remote Description instruction of offer to save SDP protocol of answer end, using set Remote Description instruction of answer to save SDP protocol of offer end, completing negotiation protocol and establishing media link;
step S1309: and after the media link is successfully established, calling a monitoring callback function ontrack according to the output of the media stream session connection object at the far end.
Step S15: calling a get Tracks instruction to obtain an audio track object containing an audio data stream, and binding the audio track object to an input data stream end of a local media stream session connection object;
as shown in fig. 4, in the embodiment of the present invention, step S15 may specifically include:
step S1501: acquiring an audio Track Object (audio Track Object) containing an audio data Stream by calling a get Tracks instruction through a Media Stream Object in step S1103;
step S1503: binding the audio Track object to an input data stream end of a local media stream session connection object through an RTC Peer connection.add Track instruction to complete the binding of audio data streams;
step S17: receiving an audio data Stream transmitted by an input end of a local Media Stream session connection Object, creating a Media Stream Object for an output end of a remote Media Stream session connection Object, and binding and receiving the returned audio data Stream;
as shown in fig. 5, in the embodiment of the present invention, step S17 may specifically include:
step S1701: after the step S1309 calls the monitoring callback function ontrack to monitor that the remote media stream session connection object receives the audio data, the audio data stream transmitted by the input end of the local media stream session connection object in the step S15 is received;
step S1703: after receiving the audio data Stream, creating a Media Stream Object for the output end of the Media Stream session connection Object at the far end, and binding and receiving the returned audio data Stream;
step S19: creating a new HTML5 audio tag in the web;
step S21: setting the Media Stream Object in step S1703 as the src Object of the new audio tag, to which audio data is bound;
step S23: the WebRTC acquires first frequency spectrum data of the audio data and adds the first frequency spectrum data into a WebRTC echo elimination queue;
step S25: calling a play instruction of the new audio label, and outputting audio data to a loudspeaker to start playing;
in the embodiment of the present invention, the audio tag is essentially a stand-alone player, and the sound emitted from the audio data output by the audio tag starts to be played through the speaker via the RTC Peer connection object output terminal.
Although the audio data played by the new audio tag can be collected from the microphone at this time, the spectrum of the audio data is already in the WebRTC echo cancellation queue.
Step S27: and acquiring second frequency spectrum data of the audio data acquired by the microphone, and performing audio frequency spectrum verification on the frequency spectrum data and the previously acquired frequency spectrum data by the echo eliminating module to find the same audio frequency spectrum data, wherein the audio frequency data stream of the WebRTC echo eliminating queue to which the first frequency spectrum data belongs can be discarded.
The new audio tag normally plays audio data through the loudspeaker, the microphone collects the played audio data, second spectrum data in the audio data are obtained, audio spectrum verification processing is carried out on the second spectrum data and the first spectrum data, if the same audio spectrum data are found, the audio data collected by the microphone are proved to be in the WebRTC echo elimination queue, therefore, the audio data to which the first spectrum data belong are discarded, and the audio data played by the new audio tag is not included when the microphone audio data are played in an online classroom. The occurrence of acoustic echo in the online education classroom is avoided, and the teaching effect of the online education classroom is ensured.
The echo eliminating method for audio playing of the embodiment of the invention is characterized in that audio data played outwards by an audio label is placed in a WebRTC echo eliminating queue in advance, and the frequency spectrum data of the audio data is compared with the frequency spectrum data of the audio data collected by a microphone; if the same frequency spectrum appears, the audio data placed in the WebRTC echo elimination queue is eliminated from the queue,
the new audio tag normally plays the audio data through the loudspeaker, the audio data played by the new audio tag is not included when the microphone audio data is played in the online classroom, the problem that the classroom audio call echoes when the web page plays the audio data through the audio tag in the browser is solved under the condition that normal call and audio play are ensured, and the teaching effect of the online education classroom is ensured.
The echo cancellation method for audio playing according to the embodiment of the present invention is described in detail above with reference to fig. 1 to 5, and the echo cancellation device for audio playing according to the embodiment of the present invention is described in detail below with reference to fig. 6.
Fig. 6 is a schematic structural diagram illustrating an echo cancellation device for audio playing according to an embodiment of the present invention. As shown in fig. 6, the echo cancellation device for audio playback includes:
the data binding module 61 is configured to obtain source data of an audio playing file to be played by an audio tag, and bind the source data with a media stream object to generate an audio data stream;
an object creating module 62, configured to create a local media stream session connection object and a Remote media stream session connection object, respectively, and establish a media link according to a set Remote Description instruction;
a track binding module 63, configured to obtain an audio track object including the audio data stream, and bind the audio track object to an input data stream end of the local media stream session connection object;
a media creating module 64, configured to receive an audio data stream transmitted by an input data stream end of the local media stream session connection object, create a media stream object for an output data stream end of the remote media stream session connection object, and bind and receive a returned audio data stream;
a tag creation module 65 for creating a new HTML5 audio tag in the web;
a tag binding module 66, configured to set the media stream object as a source file object of the HTML5 audio tag, and bind an audio data stream to be played for the HTML5 audio tag;
the queue adding module 67 is configured to acquire first spectrum data of the audio data stream to be played, and add the first spectrum data to an echo cancellation queue of the WebRTC;
the spectrum checking module 68 is configured to acquire second spectrum data of the audio data stream acquired by the microphone, and perform spectrum checking on the second spectrum data and the first spectrum data;
a data discarding module 69, configured to discard the audio data stream of the echo cancellation queue if the same spectral data is found to exist.
In this embodiment of the present invention, optionally, the data binding module 61 specifically includes:
the address acquisition submodule is used for acquiring a source address of an audio playing file of the audio tag through a source file object of the audio tag;
the address loading submodule is used for creating an Audio Context Object through Web Audio to perform Audio operation, loading the address of the Audio playing file by using a decode Audio Data interface and acquiring source Data of the Audio playing file;
and the audio generation submodule is used for creating a Media Stream object by using the Create Media Stream Source and binding the Source data of the audio playing file by using the Media Stream object to generate an audio data Stream.
In this embodiment of the present invention, optionally, the object creating module 62 specifically includes:
an Offer creating sub-module, configured to create a local media stream session connection object, configured to receive an audio data stream generated by the audio tag, call a create Offer instruction to create an Offer, store session description protocol content of the Offer, and send the audio data stream of the audio tag to the outside;
an Answer creating submodule, configured to create a remote media stream session connection object, configured to receive the audio tag audio data stream sent by the offer, call a create Answer instruction to create an Answer, and store a session description protocol content of the Answer;
the session saving sub-module is used for saving the session Description protocol of the answer end by using the set Remote Description instruction of the offer, saving the session Description protocol of the offer end by using the set Remote Description instruction of the answer, completing the negotiation protocol and establishing a media link;
and the monitoring and calling submodule is used for calling a monitoring and call-back function according to the output of the remote media stream session connection object after the media link is successfully established.
Optionally, in this embodiment of the present invention, the track binding module 63 specifically includes:
the track acquisition submodule is used for connecting objects through the media stream session and acquiring an audio track object containing the audio data stream;
and the data binding submodule is used for binding the audio Track object with an input data stream end of a local media stream session connection object through an RTC Peer connection.add Track instruction.
Therefore, the echo cancellation device for audio playing according to the embodiment of the present invention pre-places audio data played by an audio tag to the outside in a WebRTC echo cancellation queue, and compares the spectrum data of the audio data with the spectrum data of the audio data collected by a microphone; if the same frequency spectrum appears, audio data in the WebRTC echo elimination queue are eliminated from the queue, the new audio tag normally plays the audio data through the loudspeaker, the audio data played by the new audio tag is not included when the microphone audio data is played in the online classroom, under the condition that normal conversation and audio playing are ensured, the problem that the class audio conversation echoes appear when the web page in the browser plays the audio data through the audio tag is solved, and the teaching effect of the online education classroom is ensured.
In addition, an embodiment of the present invention further provides an electronic device, which includes a bus, a transceiver, a memory, a processor, and a computer program stored in the memory and capable of running on the processor, where the transceiver, the memory, and the processor are connected via the bus, and when the computer program is executed by the processor, the processes of the embodiment of the echo cancellation method for audio playing are implemented, and the same technical effects can be achieved, and are not described herein again to avoid repetition.
Specifically, referring to fig. 7, an embodiment of the present invention further provides an electronic device, which includes a bus 71, a processor 72, a transceiver 73, a bus interface 74, a memory 75, and a user interface 76.
In an embodiment of the present invention, the electronic device further includes: a computer program stored on the memory 75 and executable on the processor 72, the computer program when executed by the processor 72 performing the steps of:
acquiring source data of an audio playing file to be played by an audio tag, and binding the source data by using a media stream object to generate an audio data stream;
respectively creating a local media stream session connection object and a Remote media stream session connection object, and establishing a media link according to a set Remote Description instruction;
acquiring an audio track object containing the audio data stream, and binding the audio track object with an input data stream end of the local media stream session connection object;
receiving an audio data stream transmitted by an input data stream end of the local media stream session connection object, creating a media stream object for an output data stream end of the remote media stream session connection object, and binding and receiving the returned audio data stream;
creating a new HTML5 audio tag in the web;
setting the media stream object as a source file object of the HTML5 audio tag, and binding an audio data stream to be played for the HTML5 audio tag;
acquiring first frequency spectrum data of the audio data stream to be played, and adding the first frequency spectrum data to an echo elimination queue of WebRTC;
acquiring second spectrum data of an audio data stream acquired by a microphone, and performing spectrum verification on the second spectrum data and the first spectrum data;
and if the same frequency spectrum data exists, the audio data flow of the echo cancellation queue is discarded.
Optionally, the computer program when executed by the processor 72 may further implement the steps of:
the step of obtaining source data of an audio playing file to be played by the audio tag and binding the source data by using the media stream object to generate an audio data stream specifically includes:
acquiring a source address of an audio playing file of the audio label through a source file object of the audio label;
creating an Audio Context Object through Web Audio to perform Audio operation, and loading an address of the Audio playing file by using a decode Audio Data interface to obtain source Data of the Audio playing file;
creating a Media Stream object by using a Create Media Stream Source, and binding Source data of the audio playing file by using the Media Stream object to generate an audio data Stream.
Optionally, the computer program when executed by the processor 72 may further implement the steps of:
the step of respectively creating a local media stream session connection object and a Remote media stream session connection object, and establishing a media link according to a set Remote Description instruction specifically includes:
creating a local media stream session connection object, which is used for receiving the audio data stream generated by the audio tag, calling a create Offer instruction to create an Offer, storing the session description protocol content of the Offer, and sending the audio data stream of the audio tag outwards;
creating a far-end media stream session connection object, which is used for receiving the audio tag audio data stream sent by the offer, calling a create Answer instruction to create an Answer, and storing the session description protocol content of the Answer;
using set Remote Description instruction of offer to save session Description protocol of answer end, using set Remote Description instruction of answer to save session Description protocol of offer end, completing negotiation protocol and establishing media link;
and after the media link is successfully established, calling a monitoring callback function according to the output of the remote media stream session connection object.
Optionally, the computer program when executed by the processor 72 may further implement the steps of:
the step of obtaining the audio track object containing the audio data stream and binding the audio track object to the input data stream end of the local media stream session connection object includes:
acquiring an audio track object containing the audio data stream through the media stream session connection object;
and binding the audio Track object to an input data stream end of a local media stream session connection object through an RTC Peer connection.
A transceiver 73 for receiving and transmitting data under the control of the processor 72.
In FIG. 7, a bus architecture (represented by bus 71), bus 71 may include any number of interconnected buses and bridges, bus 71 connecting various circuits including one or more processors, represented by processor 72, and memory, represented by memory 75.
Bus 71 represents one or more of any of several types of bus structures, including a memory bus, and memory controller, a peripheral bus, an Accelerated Graphics Port (AGP), a processor, or a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include: an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA), a Peripheral Component Interconnect (PCI) bus.
The processor 72 may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method embodiments may be performed by integrated logic circuits in hardware or instructions in software in a processor. The processor described above includes: general purpose processors, Central Processing Units (CPUs), Network Processors (NPs), Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), Complex Programmable Logic Devices (CPLDs), Programmable Logic Arrays (PLAs), Micro Control Units (MCUs) or other Programmable Logic devices, discrete gates, transistor Logic devices, discrete hardware components. The various methods, steps and logic blocks disclosed in embodiments of the present invention may be implemented or performed. For example, the processor may be a single core processor or a multi-core processor, which may be integrated on a single chip or located on multiple different chips.
The processor 72 may be a microprocessor or any conventional processor. The steps of the method disclosed in connection with the embodiments of the present invention may be directly performed by a hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor. The software modules may be located in a Random Access Memory (RAM), a Flash Memory (Flash Memory), a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), a register, and other readable storage media known in the art. The readable storage medium is located in a memory, and a processor reads information in the memory and completes the steps of the method in combination with hardware of the processor.
The bus 71 may also connect various other circuits such as peripherals, voltage regulators, or power management circuits to one another, and a bus interface 74 provides an interface between the bus 71 and the transceiver 73, as is well known in the art. Therefore, the embodiments of the present invention will not be further described.
The transceiver 73 may be one element or a plurality of elements, such as a plurality of receivers and transmitters, providing a means for communicating with various other devices over a transmission medium. For example: the transceiver 73 receives external data from other devices, and the transceiver 73 is used to transmit data processed by the processor 72 to other devices. Depending on the nature of the computer system, a user interface 76 may also be provided, such as: touch screen, physical keyboard, display, mouse, speaker, microphone, trackball, joystick, stylus.
It should be appreciated that in embodiments of the present invention, the memory 75 may further include memory remotely located from the processor 72, which may be connected to a server over a network. One or more portions of the above-described networks may be an ad hoc network (ad hoc network), an intranet (intranet), an extranet (extranet), a Virtual Private Network (VPN), a Local Area Network (LAN), a Wireless Local Area Network (WLAN), a Wide Area Network (WAN), a Wireless Wide Area Network (WWAN), a Metropolitan Area Network (MAN), the Internet (Internet), a Public Switched Telephone Network (PSTN), a plain old telephone service network (POTS), a cellular telephone network, a wireless fidelity (Wi-Fi) network, and combinations of two or more of the above. For example, the cellular telephone network and the wireless network may be a global system for Mobile Communications (GSM) system, a Code Division Multiple Access (CDMA) system, a Worldwide Interoperability for Microwave Access (WiMAX) system, a General Packet Radio Service (GPRS) system, a Wideband Code Division Multiple Access (WCDMA) system, a Long Term Evolution (LTE) system, an LTE Frequency Division Duplex (FDD) system, an LTE Time Division Duplex (TDD) system, a long term evolution-advanced (LTE-a) system, a Universal Mobile Telecommunications (UMTS) system, an enhanced Mobile Broadband (eMBB) system, a mass Machine Type Communication (mtc) system, an Ultra Reliable Low Latency Communication (urrllc) system, or the like.
It will be appreciated that memory 75 in embodiments of the invention may be either volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. Wherein the nonvolatile memory includes: Read-Only Memory (ROM), Programmable ROM (PROM), Erasable PROM (EPROM), Electrically Erasable PROM (EEPROM), or Flash Memory.
The volatile memory includes: random Access Memory (RAM), which acts as an external cache. By way of example, and not limitation, many forms of RAM are available, such as: static random access memory (Static RAM, SRAM), Dynamic random access memory (Dynamic RAM, DRAM), Synchronous Dynamic random access memory (Synchronous DRAM, SDRAM), Double Data Rate Synchronous Dynamic random access memory (Double Data Rate SDRAM, DDRSDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and Direct memory bus RAM (DRRAM). The memory 75 of the electronic device described in the embodiments of the present invention includes, but is not limited to, the above and any other suitable types of memory.
In an embodiment of the present invention, memory 75 stores the following elements of operating system 751 and application programs 752: an executable module, a data structure, or a subset thereof, or an expanded set thereof.
Specifically, the operating system 751 comprises various system programs, such as: a framework layer, a core library layer, a driver layer, etc. for implementing various basic services and processing hardware-based tasks. Applications 752 include various applications such as: media Player (Media Player), Browser (Browser), for implementing various application services. A program implementing the method of an embodiment of the present invention may be included in the application 752. The application programs 752 include: applets, objects, components, logic, data structures, and other computer system executable instructions that perform particular tasks or implement particular abstract data types.
In addition, an embodiment of the present invention further provides a computer-readable storage medium, where a computer program is stored, and when the computer program is executed by a processor, the computer program implements each process of the above-mentioned embodiment of the echo cancellation method for audio playing, and can achieve the same technical effect, and in order to avoid repetition, details are not repeated here.
In particular, the computer program may, when executed by a processor, implement the steps of:
acquiring source data of an audio playing file to be played by an audio tag, and binding the source data by using a media stream object to generate an audio data stream;
respectively creating a local media stream session connection object and a Remote media stream session connection object, and establishing a media link according to a set Remote Description instruction;
acquiring an audio track object containing the audio data stream, and binding the audio track object with an input data stream end of the local media stream session connection object;
receiving an audio data stream transmitted by an input data stream end of the local media stream session connection object, creating a media stream object for an output data stream end of the remote media stream session connection object, and binding and receiving the returned audio data stream;
creating a new HTML5 audio tag in the web;
setting the media stream object as a source file object of the HTML5 audio tag, and binding an audio data stream to be played for the HTML5 audio tag;
acquiring first frequency spectrum data of the audio data stream to be played, and adding the first frequency spectrum data to an echo elimination queue of WebRTC;
acquiring second spectrum data of an audio data stream acquired by a microphone, and performing spectrum verification on the second spectrum data and the first spectrum data;
and if the same frequency spectrum data exists, the audio data flow of the echo cancellation queue is discarded.
Optionally, the computer program when executed by the processor may further implement the steps of:
the step of obtaining source data of an audio playing file to be played by the audio tag and binding the source data by using the media stream object to generate an audio data stream specifically includes:
acquiring a source address of an audio playing file of the audio label through a source file object of the audio label;
creating an Audio Context Object through Web Audio to perform Audio operation, and loading an address of the Audio playing file by using a decode Audio Data interface to obtain source Data of the Audio playing file;
creating a Media Stream object by using a Create Media Stream Source, and binding Source data of the audio playing file by using the Media Stream object to generate an audio data Stream.
Optionally, the computer program when executed by the processor may further implement the steps of:
the step of respectively creating a local media stream session connection object and a Remote media stream session connection object, and establishing a media link according to a set Remote Description instruction specifically includes:
creating a local media stream session connection object, which is used for receiving the audio data stream generated by the audio tag, calling a create Offer instruction to create an Offer, storing the session description protocol content of the Offer, and sending the audio data stream of the audio tag outwards;
creating a far-end media stream session connection object, which is used for receiving the audio tag audio data stream sent by the offer, calling a create Answer instruction to create an Answer, and storing the session description protocol content of the Answer;
using set Remote Description instruction of offer to save session Description protocol of answer end, using set Remote Description instruction of answer to save session Description protocol of offer end, completing negotiation protocol and establishing media link;
and after the media link is successfully established, calling a monitoring callback function according to the output of the remote media stream session connection object.
Optionally, the computer program when executed by the processor may further implement the steps of:
the step of obtaining the audio track object containing the audio data stream and binding the audio track object to the input data stream end of the local media stream session connection object includes:
acquiring an audio track object containing the audio data stream through the media stream session connection object;
and binding the audio Track object to an input data stream end of a local media stream session connection object through an RTC Peer connection.
The computer-readable storage medium includes: permanent and non-permanent, removable and non-removable media may be tangible devices that retain and store instructions for use by an instruction execution apparatus. The computer-readable storage medium includes: electronic memory devices, magnetic memory devices, optical memory devices, electromagnetic memory devices, semiconductor memory devices, and any suitable combination of the foregoing. The computer-readable storage medium includes: phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), non-volatile random access memory (NVRAM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic tape cartridge storage, magnetic tape disk storage or other magnetic storage devices, memory sticks, mechanically encoded devices (e.g., punched cards or raised structures in a groove having instructions recorded thereon), or any other non-transmission medium useful for storing information that may be accessed by a computing device. As defined in embodiments of the present invention, the computer-readable storage medium does not include transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., optical pulses traveling through a fiber optic cable), or electrical signals transmitted through a wire.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the examples described in connection with the embodiments disclosed in the embodiments disclosed herein may be embodied in electronic hardware, computer software, or combinations of both, and that the components and steps of the examples have been described in a functional general in the foregoing description for the purpose of illustrating the interchangeability of hardware and software. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer program instructions. The computer program instructions comprise: assembly instructions, Instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, integrated circuit configuration data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as: smalltalk, C + + and procedural programming languages, such as: c or a similar programming language.
When the computer program instructions are loaded and executed on a computer, which may be a computer, a special purpose computer, a network of computers, or other editable apparatus, all or a portion of the procedures or functions described herein may be performed, in accordance with the embodiments of the invention. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, such as: the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (e.g., coaxial cable, twisted pair, fiber optic, Digital Subscriber Line (DSL)), or wirelessly (e.g., infrared, wireless, microwave). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device including one or more available media integrated servers, data centers, and the like. The usable medium may be a magnetic medium (e.g., floppy disk, magnetic tape), an optical medium (e.g., optical disk), or a semiconductor medium (e.g., Solid State Drive (SSD)), among others. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present embodiments.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing embodiments of the method of the present invention, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus, electronic device and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is merely a logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may also be an electrical, mechanical or other form of connection.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to solve the problem to be solved by the embodiment of the invention.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present invention may be substantially or partially contributed by the prior art, or all or part of the technical solutions may be embodied in a software product stored in a storage medium and including instructions for causing a computer device (including a personal computer, a server, a data center, or other network devices) to execute all or part of the steps of the methods of the embodiments of the present invention. And the storage medium includes various media that can store the program code as listed in the foregoing.
The above description is only a specific implementation of the embodiments of the present invention, but the scope of the embodiments of the present invention is not limited thereto, and any person skilled in the art can easily conceive of changes or substitutions within the technical scope of the embodiments of the present invention, and all such changes or substitutions should be covered by the scope of the embodiments of the present invention. Therefore, the protection scope of the embodiments of the present invention shall be subject to the protection scope of the claims.

Claims (10)

1. An echo cancellation method for audio playback, comprising:
acquiring source data of an audio playing file to be played by an audio tag, and binding the source data by using a media stream object to generate an audio data stream;
respectively creating a local media stream session connection object and a Remote media stream session connection object, and establishing a media link according to a set Remote Description instruction;
acquiring an audio track object containing the audio data stream, and binding the audio track object with an input data stream end of the local media stream session connection object;
receiving an audio data stream transmitted by an input data stream end of the local media stream session connection object, creating a media stream object for an output data stream end of the remote media stream session connection object, and binding and receiving the returned audio data stream;
creating a new HTML5 audio tag in the web;
setting the media stream object as a source file object of the HTML5 audio tag, and binding an audio data stream to be played for the HTML5 audio tag;
acquiring first frequency spectrum data of the audio data stream to be played, and adding the first frequency spectrum data to an echo elimination queue of WebRTC;
acquiring second spectrum data of an audio data stream acquired by a microphone, and performing spectrum verification on the second spectrum data and the first spectrum data;
and if the same frequency spectrum data exists, the audio data flow of the echo cancellation queue is discarded.
2. The method according to claim 1, wherein the step of obtaining source data of an audio playing file to be played by an audio tag, and binding the source data with a media stream object to generate an audio data stream specifically comprises:
acquiring a source address of an audio playing file of the audio label through a source file object of the audio label;
creating an Audio Context Object through Web Audio to perform Audio operation, and loading an address of the Audio playing file by using a decode Audio Data interface to obtain source Data of the Audio playing file;
creating a Media Stream object by using a Create Media Stream Source, and binding Source data of the audio playing file by using the Media Stream object to generate an audio data Stream.
3. The method according to claim 1, wherein the step of creating the local media stream session connection object and the Remote media stream session connection object respectively and establishing the media link according to the set Remote Description instruction specifically includes:
creating a local media stream session connection object, which is used for receiving the audio data stream generated by the audio tag, calling a create Offer instruction to create an Offer, storing the session description protocol content of the Offer, and sending the audio data stream of the audio tag outwards;
creating a far-end media stream session connection object, which is used for receiving the audio tag audio data stream sent by the offer, calling a create Answer instruction to create an Answer, and storing the session description protocol content of the Answer;
using set Remote Description instruction of offer to save session Description protocol of answer end, using set Remote Description instruction of answer to save session Description protocol of offer end, completing negotiation protocol and establishing media link;
and after the media link is successfully established, calling a monitoring callback function according to the output of the remote media stream session connection object.
4. The method of claim 1, wherein the step of obtaining an audio track object containing the audio data stream and binding the audio track object to the input data stream end of the local media stream session connection object comprises:
acquiring an audio track object containing the audio data stream through the media stream session connection object;
and binding the audio Track object to an input data stream end of a local media stream session connection object through an RTC Peer connection.
5. An echo cancellation device for audio playback, comprising:
the data binding module is used for acquiring source data of an audio playing file to be played by the audio tag, and binding the source data by using a media stream object to generate an audio data stream;
an object creating module, configured to create a local media stream session connection object and a Remote media stream session connection object, respectively, and create a media link according to a set Remote Description instruction;
a track binding module, configured to obtain an audio track object including the audio data stream, and bind the audio track object to an input data stream end of the local media stream session connection object;
a media creating module, configured to receive an audio data stream transmitted by an input data stream end of the local media stream session connection object, create a media stream object for an output data stream end of the remote media stream session connection object, and bind and receive a returned audio data stream;
a tag creation module to create a new HTML5 audio tag in the web;
the tag binding module is used for setting the media stream object as a source file object of the HTML5 audio tag, and binding the audio data stream to be played for the HTML5 audio tag;
the queue adding module is used for acquiring first frequency spectrum data of the audio data stream to be played and adding the first frequency spectrum data to an echo eliminating queue of the WebRTC;
the frequency spectrum checking module is used for acquiring second frequency spectrum data of an audio data stream acquired by a microphone and carrying out frequency spectrum checking on the second frequency spectrum data and the first frequency spectrum data;
and the data discarding module is used for discarding the audio data stream of the echo cancellation queue if the same frequency spectrum data is found to exist.
6. The apparatus according to claim 5, wherein the data binding module specifically includes:
the address acquisition submodule is used for acquiring a source address of an audio playing file of the audio tag through a source file object of the audio tag;
the address loading submodule is used for creating an Audio Context Object through Web Audio to perform Audio operation, loading the address of the Audio playing file by using a decode Audio Data interface and acquiring source Data of the Audio playing file;
and the audio generation submodule is used for creating a Media Stream object by using the Create Media Stream Source and binding the Source data of the audio playing file by using the Media Stream object to generate an audio data Stream.
7. The apparatus of claim 5, wherein the object creation module specifically comprises:
an Offer creating sub-module, configured to create a local media stream session connection object, configured to receive an audio data stream generated by the audio tag, call a create Offer instruction to create an Offer, store session description protocol content of the Offer, and send the audio data stream of the audio tag to the outside;
an Answer creating submodule, configured to create a remote media stream session connection object, configured to receive the audio tag audio data stream sent by the offer, call a create Answer instruction to create an Answer, and store a session description protocol content of the Answer;
the session saving sub-module is used for saving the session Description protocol of the answer end by using the set Remote Description instruction of the offer, saving the session Description protocol of the offer end by using the set Remote Description instruction of the answer, completing the negotiation protocol and establishing a media link;
and the monitoring and calling submodule is used for calling a monitoring and call-back function according to the output of the remote media stream session connection object after the media link is successfully established.
8. The apparatus according to claim 5, wherein the track binding module specifically comprises:
the track acquisition submodule is used for connecting objects through the media stream session and acquiring an audio track object containing the audio data stream;
and the data binding submodule is used for binding the audio Track object with an input data stream end of a local media stream session connection object through an RTC Peer connection.add Track instruction.
9. An electronic device comprising a bus, a transceiver, a memory, a processor and a computer program stored on the memory and executable on the processor, the transceiver, the memory and the processor being connected via the bus, characterized in that the computer program, when executed by the processor, implements the steps in the method for echo cancellation for audio playback according to any of claims 1 to 4.
10. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the method for echo cancellation for audio playback according to any one of claims 1 to 4.
CN202110677425.6A 2021-06-18 2021-06-18 Echo eliminating method and device for audio playing and electronic equipment Active CN113259385B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110677425.6A CN113259385B (en) 2021-06-18 2021-06-18 Echo eliminating method and device for audio playing and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110677425.6A CN113259385B (en) 2021-06-18 2021-06-18 Echo eliminating method and device for audio playing and electronic equipment

Publications (2)

Publication Number Publication Date
CN113259385A CN113259385A (en) 2021-08-13
CN113259385B true CN113259385B (en) 2021-09-17

Family

ID=77188724

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110677425.6A Active CN113259385B (en) 2021-06-18 2021-06-18 Echo eliminating method and device for audio playing and electronic equipment

Country Status (1)

Country Link
CN (1) CN113259385B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104219403A (en) * 2013-06-03 2014-12-17 腾讯科技(深圳)有限公司 An echo eliminating method and device
CN111147506A (en) * 2019-12-30 2020-05-12 武汉兴图新科电子股份有限公司 Method, system and storage device for playing streaming media data based on HTML5
CN112653700A (en) * 2020-12-23 2021-04-13 武汉烽火众智数字技术有限责任公司 Website video communication method based on WEBRTC

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10187429B2 (en) * 2016-01-22 2019-01-22 Cisco Technology, Inc. Selective redundancy for media sessions
US11388449B2 (en) * 2017-10-19 2022-07-12 Lazar Entertainment Inc. Systems and methods for broadcasting live media streams

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104219403A (en) * 2013-06-03 2014-12-17 腾讯科技(深圳)有限公司 An echo eliminating method and device
CN111147506A (en) * 2019-12-30 2020-05-12 武汉兴图新科电子股份有限公司 Method, system and storage device for playing streaming media data based on HTML5
CN112653700A (en) * 2020-12-23 2021-04-13 武汉烽火众智数字技术有限责任公司 Website video communication method based on WEBRTC

Also Published As

Publication number Publication date
CN113259385A (en) 2021-08-13

Similar Documents

Publication Publication Date Title
CN104780335B (en) WebRTC P2P audio and video call method and device
US7869579B2 (en) Selectable replay of buffered conversation in a VOIP session
US10142482B2 (en) Method and apparatus for providing ambient social telephony
EP3902272A1 (en) Audio and video pushing method and audio and video stream pushing client based on webrtc protocol
US8489696B2 (en) Instant messaging exchange incorporating user-generated multimedia content
US11356492B2 (en) Preventing audio dropout
US20070133523A1 (en) Replay caching for selectively paused concurrent VOIP conversations
KR101528367B1 (en) Sound control system and method as the same
US10313502B2 (en) Automatically delaying playback of a message
CN103139202A (en) Thin client, communication method and device thereof
CN104253696B (en) Police handheld speech talkback method and system Internet-based
CN112562638A (en) Voice preview method and device and electronic equipment
CN110113298B (en) Data transmission method, device, signaling server and computer readable medium
CN113259385B (en) Echo eliminating method and device for audio playing and electronic equipment
KR20060105900A (en) Audio recording method for push-to-talk terminal
CN113192526B (en) Audio processing method and audio processing device
WO2014057503A2 (en) Method and system for enabling communication between at least two communication devices using an animated character in real-time
US20230031866A1 (en) System and method for remote audio recording
CN108401126A (en) Sound sharing means, terminal and sound sharing method
CN112714199B (en) Courseware loading method and system and electronic equipment
CN112468679B (en) Method and device for synchronously playing audio and video courseware and electronic equipment
KR20180005575A (en) Communication terminal based group call security apparatus and method
CN109375892B (en) Method and apparatus for playing audio
CN114125510A (en) Media resource playing method and related device
CN115631758B (en) Audio signal processing method, apparatus, device and storage medium

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