WO2022094835A1 - 音频同步播放方法、装置、设备及存储介质 - Google Patents

音频同步播放方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2022094835A1
WO2022094835A1 PCT/CN2020/126675 CN2020126675W WO2022094835A1 WO 2022094835 A1 WO2022094835 A1 WO 2022094835A1 CN 2020126675 W CN2020126675 W CN 2020126675W WO 2022094835 A1 WO2022094835 A1 WO 2022094835A1
Authority
WO
WIPO (PCT)
Prior art keywords
audio
time
bluetooth
playback device
audio playback
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.)
Ceased
Application number
PCT/CN2020/126675
Other languages
English (en)
French (fr)
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.)
Shenzhen Goodix Technology Co Ltd
Original Assignee
Shenzhen Goodix 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 Shenzhen Goodix Technology Co Ltd filed Critical Shenzhen Goodix Technology Co Ltd
Priority to KR1020217006793A priority Critical patent/KR102523889B1/ko
Priority to EP20855850.2A priority patent/EP4024894A1/en
Priority to PCT/CN2020/126675 priority patent/WO2022094835A1/zh
Priority to US17/184,391 priority patent/US11240586B1/en
Priority to US17/548,029 priority patent/US11632617B2/en
Publication of WO2022094835A1 publication Critical patent/WO2022094835A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/10Earpieces; Attachments therefor ; Earphones; Monophonic headphones
    • H04R1/1041Mechanical or electronic switches, or control elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS
    • H04R5/00Stereophonic arrangements
    • H04R5/033Headphones for stereophonic communication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/10Earpieces; Attachments therefor ; Earphones; Monophonic headphones
    • H04R1/1016Earpieces of the intra-aural type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers
    • H04R3/12Circuits for transducers for distributing signals to two or more loudspeakers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS
    • H04R2420/00Details of connection covered by H04R, not provided for in its groups
    • H04R2420/07Applications of wireless loudspeakers or wireless microphones

Definitions

  • the embodiments of the present application relate to the field of data processing, and in particular, to a method, an apparatus, an electronic device, and a computer-readable storage medium for synchronous audio playback.
  • a True Wireless Stereo (TWS) Bluetooth headset performs audio synchronous playback, which can achieve the effect of two-channel surround sound.
  • TWS True Wireless Stereo
  • two Bluetooth speakers can perform audio synchronous playback, and can also achieve the effect of two-channel surround sound.
  • the TWS Bluetooth headset includes two Bluetooth headsets without physical connection, namely the Bluetooth master headset and the Bluetooth slave headset, which completely eliminates the trouble of wiring and facilitates people's lives. Since the Bluetooth master headset and the Bluetooth slave headset operate independently of each other, the audio playback synchronization cannot be achieved through a wired connection. Therefore, how to realize the audio synchronization playback of the Bluetooth master headset and the Bluetooth slave headset has become an urgent technical problem to be solved.
  • software compensation is often used to realize synchronous audio playback of the Bluetooth master headset and the Bluetooth slave headset.
  • software compensation lacks hardware support, and the synchronization delay of audio playback is relatively large, which cannot effectively improve the accuracy of audio synchronization playback.
  • Bluetooth speakers Similar to TWS Bluetooth headsets, Bluetooth speakers also have technical problems that cannot effectively improve the accuracy of audio synchronous playback. It can be seen that how to effectively improve the accuracy of audio playback synchronization has become a technical problem that needs to be solved urgently at present.
  • one of the technical problems solved by the embodiments of the present invention is to provide an audio synchronous playback method, device, and chip, so as to solve at least the above technical problems.
  • a method for synchronous audio playback is provided, applied to a first audio playback device, the method includes: acquiring status information of a Bluetooth controller in the first audio playback device, and Determine the local Bluetooth time of the first audio playback device according to the state information; based on the local Bluetooth time of the first audio playback device, and the local Bluetooth time of the first audio playback device relative to the second audio playback device The offset data of the local Bluetooth time, estimate the absolute time of the second audio playback device, or based on the local Bluetooth time of the first audio playback device, and the local Bluetooth time of the first audio playback device relative to The offset data of the local Bluetooth time of the audio providing device, the absolute time of the audio providing device is estimated, the second audio playing device is paired with the first audio playing device and connected to the audio providing device via Bluetooth; based on The estimated absolute time is synchronized with the second audio playing device to play the audio signal provided by the audio providing device.
  • an audio synchronous playback device comprising: a timer communicatively connected to a Bluetooth controller, and a first audio playing module communicatively connected to the timer, the The timer is used to determine the local Bluetooth time of the first audio playback module based on the state information of the Bluetooth controller, and based on the local Bluetooth time of the first audio playback module, and the first audio playback module The local Bluetooth time relative to the offset data of the local Bluetooth time of the second audio playback module, the absolute time of the estimated second audio playback module; or for the local Bluetooth time based on the first audio playback module, and The offset data of the local Bluetooth time of the first audio playing module relative to the local Bluetooth time of the audio providing device, and the absolute time of the audio providing device is estimated; the first audio playing module and the second audio playing The modules are connected to the audio providing device via Bluetooth; the first audio playing module is configured to play the audio signal provided by the audio providing device synchronously with the second audio playing module based
  • an audio synchronous playback device comprising: a timer communicatively connected to a Bluetooth controller, and a first audio playing module communicatively connected to the timer, the The timer is used to determine the local Bluetooth time of the first audio playback module based on the state information of the Bluetooth controller, and based on the local Bluetooth time of the first audio playback module, and the first audio playback module The local Bluetooth time relative to the offset data of the local Bluetooth time of the second audio playback module, the absolute time of the estimated second audio playback module; or for the local Bluetooth time based on the first audio playback module, and The local Bluetooth time of the first audio playback module is relative to the offset data of the local Bluetooth time of the audio providing device, the absolute time of the audio providing device is estimated, and then based on the estimated absolute time, the audio playback synchronization is generated signal, the first audio playback module and the second audio playback module are connected to the audio providing device via Bluetooth; the first audio playback
  • a computer-readable storage medium stores a computer program thereon, and when the program is executed by a processor, the audio synchronous playback method according to the first aspect of the embodiments of the present application is implemented.
  • an electronic device includes the audio synchronization playback apparatus described in the second aspect or the third aspect of the embodiments of the present application.
  • This embodiment of the present application estimates the absolute time of the second audio playback device or audio providing device paired with the first audio playback device by using the local Bluetooth time of the first audio playback device, so that the first audio playback device can be played.
  • the device obtains the absolute time of the second audio playback device or the audio providing device, so that based on the estimated absolute time, the audio signal provided by the audio providing device is played synchronously with the second audio playback device,
  • the local Bluetooth time of the first audio playback device is obtained based on the Bluetooth time of the Bluetooth controller in the first audio playback device, and the Bluetooth controller has a clock that is accurate to microseconds. Therefore, The precision of audio synchronization playback of the first audio playback device and the second audio playback device can be effectively improved, and additional antennas are not required to receive and transmit audio playback synchronization signals.
  • FIG. 1A is a flowchart of an audio synchronous playback method provided in Embodiment 1 of the present application;
  • FIG. 1B is a first schematic diagram of a first audio playback device and a second audio playback device in the forwarding mode of the classic Bluetooth protocol provided according to Embodiment 1 of the present application;
  • 1C is a second schematic diagram illustrating that the first audio playback device and the second audio playback device are in the forwarding mode of the classic Bluetooth protocol according to Embodiment 1 of the present application;
  • FIG. 2A is a flowchart of an audio synchronous playback method provided in Embodiment 2 of the present application.
  • FIG. 2B is a schematic diagram of the first audio playback device and the second audio playback device being in a listening mode of the classic Bluetooth protocol according to Embodiment 2 of the present application;
  • FIG. 3A is a flowchart of an audio synchronous playback method provided by Embodiment 3 of the present application.
  • 3B is a connection sequence diagram of a synchronous connection stream communication link provided according to Embodiment 3 of the present application.
  • 3C is a schematic diagram of synchronization point alignment of a synchronous connection stream communication link according to Embodiment 3 of the present application.
  • 3D is a schematic diagram of a synchronous connection streaming communication link of an audio playback device provided according to Embodiment 3 of the present application;
  • 3E is a schematic diagram of the first audio playback device and the second audio playback device being in a synchronization mode of the Bluetooth low energy protocol according to Embodiment 3 of the present application;
  • 3F is a schematic diagram of an interaction event count parameter between a first audio playback device and a second audio playback device provided according to Embodiment 3 of the present application;
  • FIG. 4 is a schematic structural diagram of an audio synchronous playback device provided in Embodiment 4 of the present application.
  • FIG. 5 is a schematic structural diagram of an audio synchronous playback device provided in Embodiment 5 of the present application.
  • FIG. 6 is a schematic structural diagram of an electronic device according to Embodiment 6 of the present application.
  • FIG. 1A a flowchart of a method for synchronously playing audio in Embodiment 1 of the present application is shown.
  • the audio synchronization playback method provided in this embodiment can be applied to the forwarding mode and the monitoring mode of the classic Bluetooth protocol, and the synchronization mode of the Bluetooth low power consumption protocol.
  • the audio synchronous playback method provided by this embodiment is described in detail from the perspective of the first audio playback device. Specifically, the audio synchronous playback method provided by this embodiment includes the following steps:
  • step S101 state information of a Bluetooth controller in the first audio playback device is acquired, and the local Bluetooth time of the first audio playback device is determined according to the state information.
  • the Bluetooth controller may be understood as a chip that controls Bluetooth communication or data transmission of the first audio playback device.
  • the state information may be understood as information used to indicate the state of the Bluetooth controller, for example, information indicating that the Bluetooth controller is in a working state, information indicating that the Bluetooth controller is in a sleep state, and the like.
  • the local Bluetooth time of the first audio playback device may be understood as the Bluetooth communication duration of the first audio playback device locally timed by the first audio playback device after the first audio playback device accesses the Bluetooth link. Specifically, the timer of the first audio playback device acquires the status information of the Bluetooth controller in the first audio playback device from the Bluetooth controller of the first audio playback device, and determines according to the status information The local Bluetooth time of the first audio playback device.
  • the local Bluetooth time of the first audio playback device when determining the local Bluetooth time of the first audio playback device according to the state information, if the state information is information indicating that the Bluetooth controller is in a working state, then determine the local Bluetooth time of the first audio playback device.
  • the local Bluetooth time of the first audio playback device is the Bluetooth time sampled from the Bluetooth controller by the timer of the first audio playback device.
  • the Bluetooth time can be understood as the Bluetooth communication duration of the first audio playback device timed by the Bluetooth controller of the first audio playback device. Therefore, when the Bluetooth controller in the first audio playback device is in a working state, by sampling the Bluetooth time from the Bluetooth controller, the local Bluetooth time of the first audio playback device can be accurately determined.
  • the state information is information indicating that the Bluetooth controller is in a dormant state
  • the low power consumption time of the first audio playback device and the Bluetooth time from the latest current sampling from the Bluetooth controller are used to determine the local Bluetooth time of the first audio playback device.
  • the low power consumption time is the time period during which the Bluetooth controller is in a dormant state.
  • the local Bluetooth time of the first audio playback device is determined based on the low power consumption time of the first audio playback device and the latest Bluetooth time sampled from the Bluetooth controller. , add the low power consumption time of the first audio playback device and the Bluetooth time sampled from the Bluetooth controller most recently to obtain an addition result, and determine that the addition result is the Describe the local Bluetooth time of the first audio playback device.
  • the Bluetooth communication adopts a time-division multiplexing communication mechanism, and a Bluetooth clock accurate to microseconds is provided inside the Bluetooth controller.
  • a Bluetooth clock accurate to microseconds is provided inside the Bluetooth controller.
  • the Bluetooth controller can be in a dormant state after receiving the desired Bluetooth data, and when the Bluetooth controller is in a dormant state, the timer of the first audio playback device cannot sample the Bluetooth time of the Bluetooth controller. Therefore, A low-power clock is designed inside the first audio playback device to time the duration of the sleep state of the Bluetooth controller. Specifically, when the Bluetooth controller starts to sleep, the low-power clock starts counting from zero (eg, increments by 1 every 0.5us), thereby obtaining the low-power time of the first audio playback device, and stops sampling the Bluetooth controller's Bluetooth time. After the bluetooth controller finishes sleeping, the low-power clock stops counting, and the timer of the first audio playback device continues to sample the bluetooth time of the bluetooth controller.
  • step S102 based on the local Bluetooth time of the first audio playback device and the offset data of the local Bluetooth time of the first audio playback device relative to the local Bluetooth time of the second audio playback device, estimate the The absolute time of the second audio playback device, or based on the local Bluetooth time of the first audio playback device, and the offset data of the local Bluetooth time of the first audio playback device relative to the local Bluetooth time of the audio providing device, Estimate the absolute time of the audio providing device.
  • the audio providing device is a provider of an audio source, and the audio providing device may be any device with computing processing capability.
  • the audio providing device includes a Bluetooth controller that supports the Bluetooth protocol, and as long as it is compatible with Bluetooth communication with the audio playback device, it can be, but is not limited to, a single-mode Bluetooth controller that supports the classic Bluetooth protocol or the Bluetooth low energy protocol, or A dual-mode Bluetooth controller that also supports the Bluetooth Low Energy protocol.
  • the audio providing device may also have a voice communication function.
  • the audio providing device may be a mobile phone terminal, a tablet computer, an in-vehicle device, an industrial device, and the like.
  • the second audio playback device is paired with the first audio playback device and connected to the audio providing device via Bluetooth.
  • the pairing of the second audio playback device with the first audio playback device may be understood as the fact that the second audio playback device and the first audio playback device are paired and matched.
  • a user listens to music played in a mobile phone terminal through a TWS Bluetooth headset, and the mobile phone terminal is connected to two headsets in the TWS Bluetooth headset via Bluetooth
  • the first audio playback device may be the main headset in the TWS Bluetooth headset
  • the second audio playback device can be a slave headset in the TWS Bluetooth headset
  • the audio providing device is the mobile phone terminal.
  • the second audio playback device may be the Bluetooth master in the TWS Bluetooth headset connected to the mobile terminal via Bluetooth. earphone.
  • the first audio playback device is a Bluetooth master speaker connected to the mobile phone terminal via Bluetooth
  • the second audio playback device may be a Bluetooth slave speaker connected to the mobile phone terminal via Bluetooth.
  • the first audio playback device and the second audio playback device are in the forwarding mode of the classic Bluetooth protocol. Based on the local Bluetooth time of the first audio playback device and the offset data of the local Bluetooth time of the first audio playback device relative to the local Bluetooth time of the second audio playback device, it is estimated that the second audio playback When the absolute time of the device, based on the local Bluetooth time of the first audio playback device and the offset data of the local Bluetooth time of the first audio playback device relative to the local Bluetooth time of the second audio playback device, estimate the local Bluetooth time of the second audio playback device, and determine the estimated local Bluetooth time of the second audio playback device as the estimated absolute time.
  • the local Bluetooth time of the second audio playback device is the estimated absolute time.
  • the first audio playback device since the first audio playback device and the second audio playback device are in the forwarding mode of the classic Bluetooth protocol, the first audio playback device may be a Bluetooth slave headset or a Bluetooth slave speaker.
  • the second audio playback device may be a bluetooth main earphone or a bluetooth main speaker.
  • the Bluetooth protocol specification requires the slave device in Bluetooth communication to calculate the offset data of the local Bluetooth time of the slave device relative to the local Bluetooth time of the master device when receiving the expected Bluetooth data, and according to The calculated offset data estimates the local Bluetooth time of the master device to ensure that the Bluetooth time difference between the master device and the slave device does not exceed 1us at the moment of receiving data.
  • the offset data of the local Bluetooth time of the first audio playback device relative to the local Bluetooth time of the second audio playback device may be obtained from the Bluetooth controller firmware.
  • the Bluetooth controller firmware can be understood as an application installed in the Bluetooth controller for calculating the offset data of the local Bluetooth time of the first audio playback device relative to the local Bluetooth time of the second audio playback device program.
  • the Bluetooth controller firmware may, according to the Bluetooth protocol specification, Determine the expected arrival time of the expected Bluetooth data from the second audio playback device to the first audio playback device; combine the expected arrival time with the expected Bluetooth data from the second audio playback device to the first audio playback device The actual arrival time of the audio playback device is compared to obtain offset data of the local Bluetooth time of the first audio playback device relative to the local Bluetooth time of the second audio playback device. More specifically, the Bluetooth controller firmware can accurately calculate the expected local Bluetooth time of the expected Bluetooth data arrival according to the Bluetooth protocol specification, and calculate the expected local Bluetooth time of the expected Bluetooth data arrival and the actual expected Bluetooth data.
  • the difference value of the arriving local Bluetooth time and then determining that the difference is offset data of the local Bluetooth time of the first audio playback device relative to the local Bluetooth time of the second audio playback device.
  • the local Bluetooth time of the first audio playback device can be accurately obtained relative to the local Bluetooth time of the first audio playback device. Offset data of the local Bluetooth time of the second audio playback device.
  • the local Bluetooth time of the first audio playback device and the local Bluetooth time of the first audio playback device can be compared relative to the local Bluetooth time of the first audio playback device.
  • the offset data of the local Bluetooth time of the second audio playback device is added to obtain the estimated local Bluetooth time of the second audio playback device.
  • step S103 based on the estimated absolute time, the audio signal provided by the audio providing device is played synchronously with the second audio playing device.
  • the estimated second audio playing device when the audio signal provided by the audio providing device is played synchronously with the second audio playing device based on the estimated absolute time, the estimated second audio playing device Perform modulo operation on the local Bluetooth time to obtain the synchronous playback time of the audio signals of the first audio playback device and the second audio playback device; based on the synchronous playback time, synchronize with the second audio playback device The audio signal provided by the audio providing device is played.
  • the synchronous playback time of the audio signal of the first audio playback device and the second audio playback device obtained by performing modulo operation on the local Bluetooth time of the estimated second audio playback device can It is convenient for the audio playback module in the first audio playback device to read at one time.
  • the first audio playback device may perform a modulo operation on the estimated local Bluetooth time of the second audio playback device by 2 ⁇ 32, and use a 32-bit register to pair the obtained first
  • the synchronous playback time of the audio signals of the audio playback device and the second audio playback device is stored to facilitate one-time reading by the audio playback module in the first audio playback device.
  • the second audio playback device can also perform a modulo operation on the local Bluetooth time of the second audio playback device by 2 ⁇ 32, and use a 32-bit register to compare the first audio playback device obtained by itself with the The synchronous playback time of the audio signal of the second audio playback device is stored, so as to facilitate one-time reading by the audio playback module in the second audio playback device.
  • the error between the local Bluetooth time of the second audio playback device estimated by the first audio playback device and the actual local Bluetooth time of the second audio playback device does not exceed 1us.
  • the error between the audio synchronization playback time determined by the first audio playback device and the audio synchronization playback time determined by the second audio playback device is no more than 1us. That is to say, the synchronized playback time determined by the first audio playback device is very close to the synchronized playback time determined by the second audio playback device, and the error is in the order of microseconds. Therefore, the first audio playback time can be effectively improved. Accuracy of audio playback synchronization between the device and the second audio playback device.
  • the first audio playing device when playing the audio signal provided by the audio providing device in synchronization with the second audio playing device based on the synchronized playing time, the first audio playing device based on the synchronization Playing time, sending an audio synchronous playing request to the second audio playing device, the audio synchronous playing request is used to enable the second audio playing device to determine the start playing time and playing period of the audio signal, and based on the The start playing time and playing period of the audio signal generate an audio synchronous playing response sent to the first audio playing device. Then, the first audio playback device receives the start playback time and playback period of the audio signal carried in the audio synchronous playback response from the second audio playback device, and generates a period for synchronously playing the audio signal level signal or periodic pulse signal.
  • the first audio playing device plays the audio signal provided by the audio providing device in synchronization with the second audio playing device based on the periodic level signal or the periodic pulse signal.
  • the periodic level signal or periodic pulse signal generated by the start playing time of the audio signal and the playing period can effectively realize the audio synchronization of the first audio playing device and the second audio playing device. play.
  • the second audio playback device determines the audio synchronization playback request based on the audio synchronization playback request.
  • obtain the local Bluetooth time of the second audio playback device based on the local Bluetooth time of the second audio playback device, determine the synchronization of the local audio signals of the first audio playback device and the second audio playback device Playing time; based on the local synchronized playing time, determine the starting playing time and playing period of the audio signal.
  • the first audio playback device is a Bluetooth slave headset
  • the second audio playback device is a Bluetooth master headset.
  • the audio synchronization playback device of the Bluetooth slave headset determines that the current Bluetooth time sampled from the Bluetooth controller is the The local bluetooth time of the bluetooth slave headset.
  • the audio synchronization playback device of the bluetooth slave headset determines the current low power consumption time and distance collected from the low power consumption clock The addition result of the latest Bluetooth time sampled from the Bluetooth controller is the local Bluetooth time of the Bluetooth slave headset.
  • the audio synchronization playback device of the Bluetooth slave headset After obtaining the local Bluetooth time of the Bluetooth slave headset, the audio synchronization playback device of the Bluetooth slave headset will obtain the local Bluetooth time of the Bluetooth slave headset relative to the local Bluetooth of the Bluetooth master headset from the Bluetooth controller firmware. The time offset data is added to the local Bluetooth time of the Bluetooth slave headset to obtain the estimated local Bluetooth time of the Bluetooth master headset. After obtaining the estimated local Bluetooth time of the Bluetooth master headset, the audio synchronization playback device of the Bluetooth slave headset synchronously plays the bluetooth master headset based on the estimated local Bluetooth time of the Bluetooth master headset. The audio signal provided by the mobile terminal.
  • the first audio playback device is a Bluetooth slave headset
  • the second audio playback device is a Bluetooth master headset
  • the audio providing device is a mobile phone terminal.
  • the bluetooth master headset is connected to the mobile phone terminal through the bluetooth link 1
  • the bluetooth master headset is connected to the bluetooth slave headset through the bluetooth link 2.
  • the bluetooth master headset is responsible for forwarding the audio signal sent by the mobile terminal to the bluetooth slave headset, that is, the bluetooth master headset and the bluetooth slave headset are in the forwarding mode of the classic bluetooth protocol.
  • the audio playback synchronization process of the Bluetooth master headset and the Bluetooth slave headset is similar to the audio playback synchronization process of the Bluetooth master headset and the Bluetooth slave headset described in this embodiment with respect to FIG. 1B , and will not be repeated here.
  • the error between the local Bluetooth time of the Bluetooth master headset estimated by the Bluetooth slave headset and the actual local Bluetooth time of the Bluetooth master headset does not exceed 1us, that is to say, the audio synchronization determined by the Bluetooth slave headset
  • the local Bluetooth time of the first audio playback device and the offset data of the local Bluetooth time of the first audio playback device relative to the local Bluetooth time of the second audio playback device are used to estimate the first audio playback device.
  • the local Bluetooth time of the second audio playback device can enable the first audio playback device to obtain the absolute time of the second audio playback device, and then make the estimated local Bluetooth time of the second audio playback device, and the The second audio playback device synchronously plays the audio signal provided by the audio providing device, in addition, the local Bluetooth time of the first audio playback device and the local Bluetooth time of the first audio playback device are relative to the second audio
  • the offset data of the local Bluetooth time of the playback device are all obtained based on the Bluetooth time of the Bluetooth controller in the first audio playback device, and the Bluetooth controller has a clock that is accurate to microseconds, so it can effectively The precision of the audio playback synchronization of the first audio playback device and the second audio playback device is improved, and it is not necessary to additionally occupy an antenna to receive and transmit the
  • FIG. 2A a flowchart of a method for synchronously playing audio in Embodiment 2 of the present application is shown.
  • the audio synchronization playback method provided in this embodiment can be applied to the monitoring mode of the classic Bluetooth protocol.
  • the monitoring mode of the classic Bluetooth protocol is described in detail.
  • the communication system includes an audio providing device, a first audio playing device connected to the audio providing device via Bluetooth, and a second audio playing device communicatively connected to the first audio playing device
  • the first audio playing device can The second audio playback device transmits relevant communication parameters, such as: Bluetooth time, Bluetooth address, 3BIT logical address, frequency hopping sequence, connection key, encoding key and other underlying Bluetooth protocol parameters and upper layers such as L2CAP, RFCOMM, Handfree, A2DP, etc. Bluetooth protocol parameters, etc.
  • the second audio playback device enters into the Bluetooth network between the audio providing device and the first audio playback device in a monitoring mode according to the relevant communication parameters, thereby completing networking. If the audio providing device sends an audio signal to the first audio playing device, the second audio playing device can also receive the audio signal by monitoring the Bluetooth connection between the audio providing device and the first audio playing device. The audio signal sent by the audio providing device to the first audio playing device.
  • the audio synchronous playback method provided by this embodiment is described in detail from the perspective of the first audio playback device. Specifically, the audio synchronous playback method provided by this embodiment includes the following steps:
  • step S201 state information of a Bluetooth controller in the first audio playback device is acquired, and the local Bluetooth time of the first audio playback device is determined according to the state information.
  • step S201 Since the specific implementation of step S201 is similar to the specific implementation of step S101 in the above-mentioned first embodiment, it is not repeated here.
  • step S202 based on the local Bluetooth time of the first audio playback device and the offset data of the local Bluetooth time of the first audio playback device relative to the local Bluetooth time of the audio providing device, estimate the audio The local Bluetooth time of the device is provided, and the estimated local Bluetooth time of the audio providing device is determined as the estimated absolute time.
  • the second audio playback device is paired with the first audio playback device and connected to the audio providing device via Bluetooth.
  • the second audio playback device For an example of pairing the second audio playback device with the first audio playback device and connecting the audio providing device via Bluetooth, refer to step S102 in the above-mentioned first embodiment, and details are not repeated here.
  • the first audio playback device and the second audio playback device are in the listening mode of the classic Bluetooth protocol, the first audio playback device includes a Bluetooth master headset or a Bluetooth slave headset, and the first audio playback device includes a Bluetooth master headset or a Bluetooth slave headset.
  • the second audio playback device includes a bluetooth master headset or a bluetooth slave headset.
  • the offset data of the local Bluetooth time of the first audio playing device relative to the local Bluetooth time of the audio providing device may be obtained from the Bluetooth controller firmware.
  • the local Bluetooth time of the first audio playback device and the local Bluetooth time of the first audio playback device may be compared with the The offset data of the local Bluetooth time of the audio providing device is added to obtain the estimated local Bluetooth time of the audio providing device.
  • step S203 based on the estimated absolute time, the audio signal provided by the audio providing device is played synchronously with the second audio playing device.
  • the estimated local Modulo operation is performed on the Bluetooth time to obtain the synchronous playback time of the audio signals of the first audio playback device and the second audio playback device; the audio signal provided by the audio providing device.
  • the synchronous playback time of the audio signal of the first audio playback device and the second audio playback device obtained by performing modulo operation on the local Bluetooth time of the estimated audio providing device can be convenient for the first time.
  • the audio playback module in an audio playback device reads at one time.
  • the audio signal provided by the audio providing device when the audio signal provided by the audio providing device is played synchronously with the second audio playback device based on the synchronized playback time, based on the synchronized playback time
  • the second audio playback device sends an audio synchronous playback request, and the audio synchronous playback request is used to enable the second audio playback device to determine the start playback time and playback period of the audio signal, and based on the start playback time and playback period of the audio signal Play period, generate the audio synchronous playback response sent to the first audio playback device; receive the start playback time and playback period of the audio signal carried in the audio synchronous playback response from the second audio playback device, and generate A periodic level signal or periodic pulse signal used to synchronously play the audio signals of the first audio playback device and the second audio playback device; based on the periodic level signal or the periodic pulse signal,
  • the audio signal provided by the audio providing device is played in synchronization with the second audio playing device.
  • the second audio playback device determines the audio synchronization playback request based on the audio synchronization playback request.
  • obtain the estimated local Bluetooth time of the audio providing device based on the estimated local Bluetooth time of the audio providing device, determine the local audio signals of the first audio playback device and the second audio playback device.
  • the synchronous playback time of the audio signal is determined; based on the local synchronous playback time, the start playback time and playback period of the audio signal are determined.
  • the specific implementation manner of the second audio playback device for determining the local synchronized playback time is similar to the specific implementation manner for the first audio playback device to determine the local synchronized playback time, and it is estimated that the audio providing device
  • the specific implementation of the local Bluetooth time is also similar.
  • the synchronous playback time determined by the second audio playback device is very close to the synchronous playback time determined above, and the error is in microseconds. Therefore, the first audio playback can be effectively improved.
  • the first audio playback device is a Bluetooth slave headset
  • the second audio playback device is a Bluetooth master headset
  • the audio providing device is a mobile phone terminal.
  • the bluetooth master earphone is connected to the mobile phone terminal via bluetooth
  • the bluetooth master earphone is communicatively connected to the bluetooth slave earphone.
  • the audio synchronization playback process of the Bluetooth master headset and the Bluetooth slave headset is as follows: when the state information of the Bluetooth controller is information indicating that the Bluetooth controller is in a working state, the audio of the Bluetooth slave headset is played synchronously.
  • the device determines that the Bluetooth time sampled from the Bluetooth controller is the local Bluetooth time of the Bluetooth slave headset.
  • the audio synchronization playback device of the bluetooth slave headset determines the current low power consumption time and distance sampled from the low power consumption clock The addition result of the latest Bluetooth time sampled from the Bluetooth controller is the local Bluetooth time of the Bluetooth slave headset. After obtaining the local Bluetooth time of the Bluetooth slave headset, the audio synchronization playback device of the Bluetooth slave headset will obtain the local Bluetooth time of the Bluetooth slave headset relative to the local Bluetooth time of the mobile terminal from the Bluetooth controller firmware The offset data is added to the local Bluetooth time of the Bluetooth slave headset to obtain the estimated local Bluetooth time of the mobile phone terminal.
  • the Bluetooth slave audio synchronization playback device of the headset After obtaining the estimated local Bluetooth time of the mobile phone terminal, the Bluetooth slave audio synchronization playback device of the headset performs a modulo operation on the estimated local Bluetooth time of the mobile phone terminal to obtain the synchronization of the audio signal. play time. Similarly, the bluetooth master earphone obtains the synchronized playback time of the audio signal in the same manner as the bluetooth slave earphone. Then, the Bluetooth slave headset generates a periodic level signal or periodic pulse signal for synchronously playing the audio signal based on the synchronous playback time, and finally based on the periodic level signal or periodic pulse signal, The audio signal provided by the mobile phone terminal is played synchronously with the bluetooth main earphone.
  • the error between the local Bluetooth time of the mobile phone terminal estimated by the Bluetooth slave headset and the actual local Bluetooth time of the mobile phone terminal is not more than 1us, and the local Bluetooth time of the mobile phone terminal estimated by the Bluetooth master headset is the same as
  • the error of the actual local bluetooth time of the mobile phone terminal is not more than 1us, therefore, the error of the local bluetooth time of the mobile phone terminal estimated by the bluetooth master headset and the local bluetooth time of the mobile phone terminal estimated by the bluetooth slave earphone is not more than 1us. more than 2us. That is to say, the error between the synchronous playback time determined by the Bluetooth slave headset and the synchronous playback time determined by the Bluetooth master headset does not exceed 2us.
  • the local Bluetooth time of the first audio playing device and the offset data of the local Bluetooth time of the first audio playing device relative to the local Bluetooth time of the audio providing device are used to estimate the time of the audio providing device.
  • the local Bluetooth time enables the first audio playback device to obtain the absolute time of the audio providing device, so that the estimated local Bluetooth time of the audio providing device can be synchronized with the second audio playback device.
  • the audio signal provided by the audio providing device, in addition, the local Bluetooth time of the first audio playback device and the offset data of the local Bluetooth time of the first audio playback device relative to the local Bluetooth time of the audio providing device are both It is obtained based on the Bluetooth time of the Bluetooth controller in the first audio playback device, and the Bluetooth controller has a clock that is accurate to microseconds. Therefore, it can effectively improve the performance of the first audio playback device and the The accuracy of the audio synchronization playback of the second audio playback device does not require additionally occupying an antenna to receive and transmit audio playback synchronization signals.
  • FIG. 3A a flowchart of a method for synchronously playing audio in Embodiment 3 of the present application is shown.
  • the audio synchronization playback method provided in this embodiment can be applied to the synchronization mode of the Bluetooth low energy consumption protocol.
  • the synchronous connection stream (Connected Isochronous Stream, CIS) in the synchronous mode of the Bluetooth low energy protocol is the latest connection-oriented multi-channel synchronous data transmission and reception protocol of the Bluetooth low energy protocol suitable for TWS Bluetooth headsets, as shown in Figure 3B.
  • a synchronization time slot such as 10ms
  • the master device such as a mobile terminal
  • a slave device such as the Bluetooth master headset in the TWS Bluetooth headset
  • the master device will complete the current data interaction, and the data interaction has real-time sex.
  • the master device does not receive a confirmation message from the slave device after 150us, it will be considered that the slave device has not received the data, and the master device will automatically resend the data.
  • the slave device does not receive the data within the specified time, it will cause a timeout, and the master device will not resend the timeout data.
  • parameters such as synchronization time slot and timeout information are delivered by the master device to the slave device.
  • the desired Bluetooth data transmitted by multiple synchronous connection streaming communication links can be aligned, and the alignment point is the synchronization point (usually the end time of the last synchronous connection streaming communication link), that is, multiple
  • the Bluetooth controller in the slave device in the synchronous connection streaming communication link uploads the received desired Bluetooth data (eg audio signal) to the upper layer (eg audio playback module) of the slave device at the alignment point (same moment).
  • the waiting time for uploading the desired Bluetooth data received by the Bluetooth controllers in different slave devices is controlled by the synchronization delay parameter in the respective synchronous connection stream communication link, and the synchronization delay parameter is delivered by the master device to the slave device.
  • a plurality of synchronous connection stream communication links form a synchronous connection group (Connected Isochronous Group, CIG).
  • CIG Connected Isochronous Group
  • the mobile terminal establishes a synchronous connection and streaming communication link with the Bluetooth master headset and the Bluetooth slave headset in the TWS Bluetooth headset respectively, wherein the synchronous connection between the mobile terminal and the Bluetooth master headset is established.
  • the stream communication link is the synchronous connection stream 1
  • the synchronous connection stream communication link established between the mobile phone terminal and the Bluetooth slave headset is the synchronous connection stream 2.
  • the mobile terminal distributes the time parameters of synchronous connection stream 1 and synchronous connection stream 2 to the Bluetooth master headset and the Bluetooth slave headset, for example, synchronization time slot, data transmission delay, synchronization delay (synchronous connection stream 1 and synchronous connection stream 2 relative to the time difference of the synchronization point) and so on.
  • the Bluetooth master headset and the Bluetooth slave headset After receiving the audio signal, the Bluetooth master headset and the Bluetooth slave headset synchronously send the received audio signal to the audio playback modules of the Bluetooth master headset and the Bluetooth slave headset according to their respective time parameters. Then, the audio playback modules of the Bluetooth master headset and the Bluetooth slave headset respectively decode and play the received audio signals.
  • the audio synchronous playback method provided by this embodiment is described in detail from the perspective of the first audio playback device. Specifically, the audio synchronous playback method provided by this embodiment includes the following steps:
  • step S301 state information of a Bluetooth controller in the first audio playback device is acquired, and the local Bluetooth time of the first audio playback device is determined according to the state information.
  • the first audio playback device is connected with the audio providing device via a first synchronous connection streaming communication link
  • the second audio playback device is in streaming communication via a second synchronous connection Links a Bluetooth connection with the audio-providing device.
  • the state information of the Bluetooth controller determines the local Bluetooth time of the first audio playback device, where n is an integer equal to or greater than 2. In this way, through the state information of the Bluetooth controller in the first audio playback device, it is possible to accurately determine the status of the first audio playback device when the first synchronization connection stream communication link is at the nth synchronization point. Local Bluetooth time.
  • the first audio playback device may be a Bluetooth master speaker, a Bluetooth slave speaker, a Bluetooth master headset or a Bluetooth slave headset among TWS Bluetooth headsets, and the like.
  • the second audio playback device may be a bluetooth master speaker, a bluetooth slave speaker, a bluetooth master earphone or a bluetooth slave earphone in a TWS bluetooth earphone, or the like.
  • the synchronization point can be understood as connecting to the Bluetooth controller in the first audio playback device in the first synchronization connection streaming communication link, and synchronously uploading the received audio signal to the first audio playback The time point of the device's audio playback module.
  • the Bluetooth controller may be understood as a chip that controls Bluetooth communication or data transmission of the first audio playback device.
  • the state information may be understood as information used to indicate the state of the Bluetooth controller, for example, information indicating that the Bluetooth controller is in a working state, information indicating that the Bluetooth controller is in a sleep state, and the like. Because the specific implementation of determining the local Bluetooth time of the first audio playback device based on the state information of the Bluetooth controller in the first audio playback device in this embodiment is the same as the specific implementation of step S101 in the above-mentioned first embodiment The implementation manner is similar and will not be repeated here.
  • step S302 based on the first local Bluetooth time of the first audio playback device, the second local Bluetooth time of the first audio playback device, and the local Bluetooth time of the first audio playback device relative to the Offset data of the local Bluetooth time of the audio providing device, determine the elapsed time of the first local Bluetooth time relative to the second local Bluetooth time, and determine that the elapsed time is the estimated absolute time.
  • the first local Bluetooth time is the local Bluetooth time of the first audio playback device when the first synchronous connection streaming communication link is at the nth synchronization point
  • the second local Bluetooth time The time is the local Bluetooth time of the first audio playback device when the first synchronization connection streaming communication link is at the first synchronization point.
  • the second audio playback device is paired with the first audio playback device and connected to the audio providing device via Bluetooth. For an example of pairing the second audio playback device with the first audio playback device and connecting the audio providing device via Bluetooth, refer to step S102 in the above-mentioned first embodiment, and details are not repeated here.
  • the master device (such as the audio providing device) does not send the local Bluetooth time of the master device (such as the audio providing device) to the slave device (such as the first audio playing device) in the Bluetooth low energy protocol specification
  • the first audio playing device cannot determine the absolute time of the audio providing device by estimating the local Bluetooth time of the audio providing device. Therefore, the synchronization characteristics of the first synchronous connection streaming communication link and the second synchronous connection streaming communication link can be used to make the first synchronous connection streaming communication link at the first synchronization point.
  • the local Bluetooth time of the first audio playback device is used as the reference time
  • the local Bluetooth time of the second audio playback device when the second synchronous connection streaming communication link is at the first synchronization point is used as the reference time, to determine the absolute time of the second audio playback device.
  • the Bluetooth low energy protocol specification requires the slave device in Bluetooth communication to offset the local Bluetooth time of the slave device relative to the local Bluetooth time of the master device when receiving the expected Bluetooth data. Calculate and calibrate according to the calculated offset data to ensure that the time difference between the master device and the slave device does not exceed 1us at the synchronization point.
  • each time the Bluetooth controller of the first audio playback device receives the expected Bluetooth data from the audio providing device it can accurately calculate the expected Bluetooth data according to the synchronization time slot and event count parameters, etc. arrival time, and calculate the difference between the expected arrival time of the expected Bluetooth data and the actual arrival time of the expected Bluetooth data, and then determine the difference as the local Bluetooth time of the first audio playback relative to the Audio provides offset data from the device's local Bluetooth time.
  • the first local Bluetooth time when determining the elapsed time of the first local Bluetooth time of the first audio playback device relative to the second local Bluetooth time of the first audio playback device, the first local Bluetooth time Subtract the second local Bluetooth time to obtain a time subtraction result, and compare the time subtraction result with the offset of the local Bluetooth time of the first audio playback device relative to the local Bluetooth time of the audio providing device The data are added to obtain the elapsed time of the first local Bluetooth time of the first audio playback device relative to the second local Bluetooth time of the first audio playback device.
  • step S303 based on the estimated absolute time, the audio signal provided by the audio providing device is played synchronously with the second audio playing device.
  • the audio signal provided by the audio providing device when played synchronously with the second audio playing device based on the estimated absolute time, if the second synchronously connects to the streaming communication chain If the synchronization point at which the channel is located is aligned with the nth synchronization point at which the first synchronization connection streaming communication link is located, then based on the elapsed time, determine the synchronization between the first audio playback device and the second audio playback device. The synchronous playback time of the audio signal, and based on the synchronous playback time, the audio signal provided by the audio providing device is played synchronously with the second audio playback device. In this way, through the elapsed time, the synchronized playback time of the audio signals of the first audio playback device and the second audio playback device can be accurately determined.
  • the audio decoding duration determines the synchronous playback time of the audio signals of the first audio playback device and the second audio playback device.
  • the preconfigured maximum audio decoding duration may be 5ms.
  • the audio providing device is a mobile phone terminal
  • the first audio playback device is a Bluetooth master headset in a TWS Bluetooth headset
  • the second audio playback device is a Bluetooth slave headset in the TWS Bluetooth headset
  • the bluetooth master earphone and the bluetooth slave earphone are connected to the mobile phone terminal via bluetooth through the first synchronous connection streaming communication link and the second synchronous connection streaming communication link respectively.
  • the Bluetooth master headset can record the local Bluetooth time at which the first synchronous connection streaming communication link is currently at the nth synchronization point Relative to the elapsed time of the local Bluetooth time when the first synchronization connection streaming communication link is at the first synchronization point, plus the preconfigured maximum audio decoding time, the local Bluetooth master headset can be obtained.
  • the synchronous playback time of the audio signals of the bluetooth master headset and the bluetooth slave headset similarly, the bluetooth slave headset can compare the local bluetooth time that the second synchronous connection streaming communication link is currently at the mth synchronization point relative to.
  • the elapsed time of the local Bluetooth time when the second synchronous connection streaming communication link is at the first synchronization point, plus the pre-configured maximum audio decoding time the local bluetooth of the bluetooth slave headset can be obtained.
  • the Bluetooth slave headset Since the mth synchronization point that the second synchronous connection streaming communication link is currently in is aligned with the nth synchronization point that the first synchronous connection streaming communication link is currently in, the Bluetooth slave headset will receive The time when the received audio signal is uploaded to the audio playback module of the Bluetooth slave headset is the same as the time when the Bluetooth master headset uploads the received audio signal to the audio playback module of the Bluetooth master headset. Therefore, it is only necessary to consider the The decoding duration of the audio signal by the audio playback module of the Bluetooth slave headset, and the decoding duration of the audio signal by the audio playback module of the Bluetooth master headset.
  • the decoding time of the audio signal by the audio playback module of the Bluetooth slave headset is the same as the decoding of the audio signal by the audio playback module of the Bluetooth master headset.
  • the durations are different. Therefore, the maximum audio decoding duration can be pre-configured to obtain the synchronous playback time of the audio signals of the Bluetooth master headset and the Bluetooth slave headset local to the Bluetooth master headset and the local Bluetooth slave headset.
  • the synchronous playback time of the audio signals of the bluetooth master headset and the bluetooth slave headset so as to realize the synchronous playback of the audio signals of the bluetooth master headset and the bluetooth slave headset.
  • the duration may be the maximum decoding duration of the audio signal frame, for example, 5ms.
  • the second event count parameter sent by the second audio playback device determines the synchronous playback time of the audio signals of the first audio playback device and the second audio playback device, wherein the second event count parameter is used to The number of synchronization time slots in which the second audio playback device accesses the second synchronization connection streaming communication link is counted. In this way, through the elapsed time and the received second event count parameter sent by the second audio playback device, the difference between the audio signals of the first audio playback device and the second audio playback device can be accurately determined. Synchronized playback time.
  • the second audio playback device when the second audio playback device establishes the second synchronous connection streaming communication link with the audio providing device, the second audio playback device
  • the second event count parameter is zero and is incremented by one at the time of each synchronization slot. That is, the second event count parameter is used to count the number of synchronization time slots in which the second audio playback device accesses the second synchronization connection streaming communication link.
  • the second audio playback device may send the second event count parameter to the first audio playback device by broadcasting or establishing a communication connection.
  • determining the relationship between the first audio playback device and the second audio playback device based on the elapsed time and the received second event count parameter sent by the second audio playback device When synchronizing the playback time of the audio signal, based on the elapsed time, the first event count parameter of the first audio playback device, the second event count parameter of the second audio playback device, and the first audio playback device Access the synchronization time slot of the first synchronization connection streaming communication link, and determine the synchronization playback time of the audio signals of the first audio playback device and the second audio playback device, wherein the first audio playback The first event count parameter of the device is used to count the number of synchronization time slots in which the first audio playback device accesses the first synchronization connection streaming communication link.
  • a synchronization time slot synchronously connecting the streaming communication link can accurately determine the synchronous playback time of the audio signals of the first audio playback device and the second audio playback device.
  • the first event count parameter of the first audio playback device, the second event count parameter of the second audio playback device, and the first audio playback device Access the synchronization time slot of the first synchronization connection streaming communication link, and when determining the synchronization playback time of the audio signals of the first audio playback device and the second audio playback device, play the second audio
  • the second event count parameter of the device is subtracted from the first event count parameter of the first audio playback device to obtain a subtraction result; the subtraction result is multiplied by the synchronization time slot to obtain a phase Multiplication result; add the multiplication result and the elapsed time of the first audio playback device to obtain the synchronized playback time of the audio signals of the first audio playback device and the second audio playback device .
  • the audio providing device is a mobile phone terminal
  • the first audio playback device is a Bluetooth master headset in a TWS Bluetooth headset
  • the second audio playback device is a Bluetooth slave headset in the TWS Bluetooth headset
  • the bluetooth master headset is connected with the mobile phone terminal through the first synchronous connection streaming communication link
  • the bluetooth slave headset is connected with the mobile phone terminal through the second synchronous connection streaming communication link.
  • the bluetooth master headset and the mobile phone terminal access the first synchronous connection streaming communication link, and the bluetooth slave headset and the mobile phone terminal access the second synchronous connection streaming communication link
  • the time of the channel is not the same, and when the Bluetooth master headset and the mobile phone terminal access the first synchronous connection streaming communication link, and the Bluetooth slave headset and the mobile phone terminal access the second synchronous connection
  • the synchronization point at which the first isochronous connection streaming communication link is located is aligned with the synchronization point at which the second isochronous connection streaming communication link is located, and therefore, in the second isochronous connection
  • the first elapsed time and the second elapsed time are the first The difference is equal to a multiple of the time interval between two adjacent synchronization points, wherein the first elapsed time is the time period of the Bluetooth slave headset when the second
  • the local Bluetooth time of the Bluetooth master headset when the streaming communication link is currently at the nth synchronization point relative to the local Bluetooth time of the Bluetooth master headset when the streaming communication link of the first synchronous connection is at the first synchronization point , and the time interval between two adjacent synchronization points is a multiple of the synchronization time slot it can be inferred that the first difference is equal to the multiple of the synchronization time slot, and the event count parameter of the Bluetooth slave headset is used For counting the synchronization time slots of the Bluetooth slave headset accessing the second synchronous connection streaming communication link, the event count parameter of the Bluetooth master headset is used to connect the Bluetooth master headset to the first Bluetooth headset.
  • the synchronization time slot of the synchronous connection stream communication link is counted, then according to the characteristics of the synchronization mode of the Bluetooth low energy protocol, the multiple of the synchronization time slot can be obtained as the event count parameter of the Bluetooth slave headset and the Bluetooth master headset.
  • the second difference of the event count parameter of can be obtained that the first difference is equal to the product of the second difference and the synchronization time slot, and further, it can be obtained that the first elapsed time is equal to the second elapsed time plus the second difference and The product of synchronization slots.
  • the synchronous playback time of the audio signals of the Bluetooth master headset and the Bluetooth slave headset can be determined according to the first elapsed time, and for the Bluetooth master headset, It can receive the event count parameter of the Bluetooth slave headset sent by the Bluetooth slave headset, and calculate the second difference according to the event count parameter of the Bluetooth slave headset, and then calculate the second difference and the synchronization time slot. The product of the second difference and the synchronization time slot is added to the second elapsed time, and finally according to the addition result, the difference between the audio signals of the Bluetooth master headset and the Bluetooth slave headset is determined. Synchronized playback time.
  • the specific implementation of playing the audio signal provided by the audio providing device synchronously with the second audio playing device based on the synchronous playing time is the same as step S203 in the second embodiment above. Based on the synchronous playback time, as described in the above, it is similar to the specific implementation manner in which the second audio playback device synchronously plays the audio signal provided by the audio providing device, and will not be repeated here.
  • the second audio playback device determines the audio synchronization playback request based on the audio synchronization playback request. , obtain the elapsed time of the second audio playback device; based on the elapsed time of the second audio playback device, determine the local synchronized playback time of the audio signals of the first audio playback device and the second audio playback device ; Determine the start playing time and playing period of the audio signal based on the local synchronized playing time.
  • the elapsed time of the second audio playback device is the mth synchronization point currently located in the second synchronous connection streaming communication link and the n th synchronization point currently located in the first synchronous connection streaming communication link
  • the local Bluetooth time of the second audio playback device when the second synchronization connection streaming communication link is currently at the mth synchronization point is relative to the second synchronization connection streaming communication chain
  • the elapsed time of the local Bluetooth time of the second audio playback device when the road is at the first synchronization point.
  • the audio providing device is a mobile phone terminal
  • the first audio playback device is a Bluetooth master headset in a TWS Bluetooth headset
  • the second audio playback device is a TWS Bluetooth headset
  • the bluetooth slave headset in the mobile phone terminal respectively establishes a synchronous connection streaming communication link with the bluetooth master headset and the bluetooth slave headset, wherein the synchronous connection streaming communication link established between the mobile phone terminal and the bluetooth master headset
  • the communication link is the synchronous connection stream 1 communication link
  • the synchronous connection stream communication link established by the mobile phone terminal and the Bluetooth slave headset is the synchronous connection stream 2 communication link.
  • the audio playback synchronization process of the Bluetooth master headset and the Bluetooth slave headset is similar to the audio playback synchronization process of the Bluetooth master headset and the Bluetooth slave headset described for step S303 in this embodiment, and will not be repeated here.
  • the audio providing device is a mobile phone terminal
  • the first audio playback device is a Bluetooth master headset in a TWS Bluetooth headset
  • the second audio playback device is a TWS Bluetooth headset
  • the bluetooth slave headset in and the bluetooth master headset is connected to the mobile phone terminal through the first synchronous connection streaming communication link
  • the bluetooth slave headset is connected to the mobile terminal through the second synchronous connection streaming communication link.
  • the mobile phone terminal is connected by bluetooth.
  • the Bluetooth slave headset If the second synchronous connection streaming communication link is currently at the mth synchronization point and the first synchronous connection streaming communication link is currently at the nth synchronization point, for the Bluetooth slave headset, it can be According to the first elapsed time, the synchronous playback time of the audio signals of the Bluetooth master headset and the Bluetooth slave headset is determined, and for the Bluetooth master headset, the Bluetooth signal sent by the Bluetooth slave headset can be received.
  • the event count parameter of the slave headset, and the synchronous playback time is determined according to the event count parameter of the Bluetooth slave headset, and the second elapsed time.
  • the first elapsed time is the local Bluetooth time of the Bluetooth slave headset when the second synchronous connection streaming communication link is currently at the mth synchronization point relative to the second synchronous connection streaming communication link
  • the elapsed time of the local Bluetooth time of the Bluetooth slave headset when it is at the first synchronization point, and the second elapsed time is the Bluetooth master when the first synchronization connection streaming communication link is currently at the nth synchronization point.
  • both the Bluetooth master headset and the Bluetooth slave headset After obtaining the synchronous playback time, both the Bluetooth master headset and the Bluetooth slave headset generate an audio signal for synchronously playing the audio signals of the Bluetooth master headset and the Bluetooth slave headset based on the determined synchronous playback time.
  • a periodic level signal or a periodic pulse signal and based on the periodic level signal or the periodic pulse signal, the audio signal is played synchronously.
  • This embodiment determines that the local Bluetooth time of the first audio playback device is at the first synchronous connection streaming communication link relative to the first synchronous connection streaming communication link when the first synchronous connection streaming communication link is at the nth synchronization point.
  • the elapsed time of the local Bluetooth time of the first audio playback device at each synchronization point enables the first audio playback device to obtain the absolute time, and then based on the absolute time of the second audio playback device, the synchronous playback time of the audio signals of the first audio playback device and the second audio playback device can be determined.
  • the first synchronous connection stream The local Bluetooth time when the communication link is at the nth synchronization point and the local Bluetooth time when the first synchronization connection streaming communication link is at the first synchronization point are both based on the Bluetooth in the first audio playback device.
  • the bluetooth time of the controller is obtained, and the inside of the bluetooth controller has a clock that is accurate to microseconds. Therefore, it can effectively improve the synchronization accuracy of the audio playback of the first audio playback device and the second audio playback device, and does not require additional occupation.
  • the antenna receives and transmits audio playback synchronization signals.
  • Embodiment 4 of the present application provides an audio synchronous playback device, the device includes: a timer communicatively connected to a Bluetooth controller, and a first audio playback module communicatively connected to the timer, the timer is used for
  • the local Bluetooth time of the first audio playback module is determined based on the state information of the Bluetooth controller, and based on the local Bluetooth time of the first audio playback module, and the local Bluetooth time of the first audio playback module relative to Offset data of the local Bluetooth time of the second audio playback module, to estimate the absolute time of the second audio playback module; or used based on the local Bluetooth time of the first audio playback module, and the first audio playback
  • the local Bluetooth time of the module is relative to the offset data of the local Bluetooth time of the audio providing device, and the absolute time of the audio providing device is estimated;
  • An audio providing device; the first audio playing module is configured to play the audio signal provided by the audio providing device in synchronization with the second audio playing module based on the estimated absolute time.
  • the device further includes the Bluetooth controller connected in communication with the timer.
  • the timer estimates the absolute time of the second audio playback module or the audio providing device, so that the first audio playback module can obtain the second audio playback.
  • the absolute time of the module or the audio providing device so that the first audio playing module plays the audio signal provided by the audio providing device synchronously with the second audio playing module based on the estimated absolute time.
  • the local Bluetooth time of the first audio playback module is obtained based on the Bluetooth time of the Bluetooth controller, and the Bluetooth controller has a clock that is accurate to microseconds. Therefore, the first audio playback module and the first audio playback module can be effectively improved.
  • the precision of the audio synchronization playback of the second audio playback module does not require an additional antenna to receive and transmit the audio playback synchronization signal.
  • the audio playback device where the first audio playback module is located is connected to the audio playback device where the second audio playback module is located via Bluetooth.
  • the audio playback device is internally provided with an audio synchronous playback device.
  • the audio synchronous playback device includes a Bluetooth controller, a timer connected in communication with the Bluetooth controller, and a first audio playback module in communication with the timer.
  • the state information of the bluetooth controller is information indicating that the bluetooth controller is in a working state
  • the timer determines that the bluetooth time sampled from the bluetooth controller is the local bluetooth time of the first audio playback module .
  • the timer determines the low power consumption time sampled from the low power consumption clock and the distance to the latest time from the bluetooth controller
  • the addition result of the Bluetooth time sampled by the controller is the local Bluetooth time of the first audio playback module.
  • the timer obtains the local Bluetooth time of the first audio playback module relative to the local Bluetooth time of the second audio playback module from the Bluetooth controller firmware
  • the offset data is added to the local Bluetooth time of the first audio playback module to estimate the local Bluetooth time of the second audio playback module.
  • the timer After estimating the local Bluetooth time of the second audio playback module, the timer determines that the estimated absolute time of the second audio playback module is the estimated local Bluetooth time of the second audio playback module, and send the estimated local Bluetooth time of the second audio playback module to the first audio playback module.
  • the first audio playback module performs modulo operation on the estimated local Bluetooth time of the second audio playback module to obtain synchronous playback of the audio signals of the first audio playback module and the second audio playback module time, and based on the synchronous playback time, generate a periodic level signal or periodic pulse signal for synchronously playing the audio signals of the first audio playback module and the second audio playback module, and finally based on the period
  • the audio signal provided by the audio providing device is played in synchronization with the second audio playback module.
  • Embodiment 5 of the present application provides an audio synchronous playback device, the device includes: a timer communicatively connected to a Bluetooth controller, and a first audio playback module communicatively connected to the timer, the timer is used for
  • the local Bluetooth time of the first audio playback module is determined based on the state information of the Bluetooth controller, and based on the local Bluetooth time of the first audio playback module, and the local Bluetooth time of the first audio playback module relative to Offset data of the local Bluetooth time of the second audio playback module, to estimate the absolute time of the second audio playback module; or used based on the local Bluetooth time of the first audio playback module, and the first audio playback
  • the local Bluetooth time of the module is relative to the offset data of the local Bluetooth time of the audio providing device, and the absolute time of the audio providing device is estimated, and then based on the estimated absolute time, an audio playback synchronization signal is generated, and the first The audio playback module and the second audio playback module are connected to the audio providing device via Bluetooth; the
  • Audio provides the audio signal provided by the device.
  • the audio playback synchronization signal may be a periodic level signal or a periodic pulse signal
  • the device further includes the Bluetooth controller connected in communication with the timer.
  • the timer estimates the absolute time of the second audio playback module or the audio providing device according to the local Bluetooth time of the first audio playback module, so that the timer can obtain the first audio based on the absolute time.
  • the audio playback synchronization signal of the audio playback module and the second audio playback module thereby enabling the first audio playback module to play the audio provided by the audio providing device synchronously with the second audio playback module based on the audio playback synchronization signal signal
  • the local bluetooth time of the first audio playback module is obtained based on the bluetooth time of the bluetooth controller, and the inside of the bluetooth controller has a clock accurate to microseconds, so it can effectively improve the first
  • the accuracy of the audio synchronous playback of the audio playback module and the second audio playback module does not require additionally occupying an antenna for receiving and sending audio playback synchronous signals.
  • the audio playback device where the first audio playback module is located is connected to the audio playback device where the second audio playback module is located via Bluetooth.
  • the difference from the process shown in Figure 4 is that the timer does not send the estimated local Bluetooth time of the second audio playback module to the first audio playback module, but instead sends the estimated local Bluetooth time of the second audio playback module to the first audio playback module.
  • the modulo operation is performed on the local Bluetooth time of the two audio playback modules to obtain the synchronous playback time of the audio signals of the first audio playback module and the second audio playback module, and based on the synchronous playback time Play the periodic level signal or periodic pulse signal of the audio signal of the first audio playback module and the second audio playback module, and finally send the periodic level signal or periodic pulse signal to the first audio playback module.
  • an audio playback module The first audio playing module plays the audio signal provided by the audio providing device in synchronization with the second audio playing module based on the periodic level signal or the periodic pulse signal.
  • the sixth embodiment of the present application provides an electronic device for executing the audio synchronous playback method described in the foregoing embodiments.
  • the electronic device 600 includes: At least one processor 602 , memory 604 , bus 606 and Communications Interface 608 .
  • the processor 602 , the communication interface 608 , and the memory 604 communicate with each other through the communication bus 606 .
  • Communication interface 608 for communicating with other devices.
  • the processor 602 is configured to execute the program 610, and may specifically execute the relevant steps in the audio synchronous playback methods described in the first embodiment to the third embodiment.
  • the program 610 may include program code including computer operation instructions.
  • the processor 602 may be a central processing unit (CPU), or a specific integrated circuit ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement the embodiments of the present application.
  • the one or more processors included in the electronic device may be the same type of processors, such as one or more CPUs; or may be different types of processors, such as one or more CPUs and one or more ASICs.
  • the memory 604 is used to store the program 610 .
  • Memory 604 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk memory.
  • the embodiments of the present application provide a computer-readable storage medium on which a computer program is stored.
  • the computing devices and electronic devices of the embodiments of the present application exist in various forms, including but not limited to:
  • Mobile communication equipment This type of equipment is characterized by having mobile communication functions, and its main goal is to provide voice and data communication.
  • Such terminals include: smart phones (eg iPhone), multimedia phones, functional phones, and low-end phones.
  • Ultra-mobile personal computer equipment This type of equipment belongs to the category of personal computers, has computing and processing functions, and generally has the characteristics of mobile Internet access.
  • Such terminals include: PDAs, MIDs, and UMPC devices, such as iPads.
  • Portable entertainment equipment This type of equipment can display and play multimedia content.
  • Such devices include: audio and video players (eg iPod), handheld game consoles, e-books, as well as smart toys and portable car navigation devices.
  • the controller may be implemented in any suitable manner, for example, the controller may take the form of eg a microprocessor or processor and a computer readable medium storing computer readable program code (eg software or firmware) executable by the (micro)processor , logic gates, switches, application specific integrated circuits (ASICs), programmable logic controllers and embedded microcontrollers, examples of controllers include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicon Labs C8051F320, the memory controller can also be implemented as part of the control logic of the memory.
  • the controller may take the form of eg a microprocessor or processor and a computer readable medium storing computer readable program code (eg software or firmware) executable by the (micro)processor , logic gates, switches, application specific integrated circuits (ASICs), programmable logic controllers and embedded microcontrollers
  • ASICs application specific integrated circuits
  • controllers include but are not limited to
  • the controller in addition to implementing the controller in the form of pure computer-readable program code, the controller can be implemented as logic gates, switches, application-specific integrated circuits, programmable logic controllers and embedded devices by logically programming the method steps.
  • the same function can be realized in the form of a microcontroller, etc. Therefore, such a controller can be regarded as a hardware component, and the devices included therein for realizing various functions can also be regarded as a structure within the hardware component. Or even, the means for implementing various functions can be regarded as both a software module implementing a method and a structure within a hardware component.
  • a typical implementation device is a computer.
  • the computer can be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or A combination of any of these devices.
  • the embodiments of the present application may be provided as a method, a system, or a computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
  • computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory result in an article of manufacture comprising instruction means, the instructions
  • the apparatus implements the functions specified in the flow or flow of the flowcharts and/or the block or blocks of the block diagrams.
  • a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
  • processors CPUs
  • input/output interfaces network interfaces
  • memory volatile and non-volatile memory
  • Memory may include forms of non-persistent memory, random access memory (RAM) and/or non-volatile memory in computer readable media, such as read only memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
  • RAM random access memory
  • ROM read only memory
  • flash RAM flash memory
  • Computer-readable media includes both persistent and non-permanent, removable and non-removable media, and storage of information may be implemented by any method or technology.
  • Information may be computer readable instructions, data structures, modules of programs, or other data.
  • Examples of computer storage media include, but are not limited to, 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), Electrically Erasable Programmable Read Only Memory (EEPROM), Flash Memory or other memory technology, Compact Disc Read Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, Magnetic tape cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
  • computer-readable media does not include transitory computer-readable media, such as modulated data signals and carrier waves.
  • the embodiments of the present application may be provided as a method, a system or a computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
  • computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.
  • the application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer.
  • program modules include routines, programs, objects, components, data structures, etc. that perform particular transactions or implement particular abstract data types.
  • the application may also be practiced in distributed computing environments where transactions are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote computer storage media including storage devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Otolaryngology (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种音频同步播放方法、装置、电子设备(600)及存储介质,涉及数据处理领域。方法应用于第一音频播放设备,方法包括:获取第一音频播放设备中的蓝牙控制器的状态信息,并根据状态信息确定第一音频播放设备的本地蓝牙时间(S201);基于第一音频播放设备的本地蓝牙时间,以及第一音频播放设备的本地蓝牙时间相对于第二音频播放设备的本地蓝牙时间或者音频提供设备的本地蓝牙时间的偏移数据,预估第二音频播放设备或者音频提供设备的绝对时间(S202);基于预估的绝对时间,与第二音频播放设备同步播放音频提供设备提供的音频信号(S203)。能够有效提高音频播放同步的精度。

Description

音频同步播放方法、装置、设备及存储介质 技术领域
本申请实施例涉及数据处理领域,尤其涉及一种音频同步播放方法、装置、电子设备及计算机可读存储介质。
背景技术
随着多媒体技术的发展,在越来越多的应用场景下需要使用多个设备构成同步播放系统进行音频同步播放,以实现多个设备同步发出声音,从而实现单个设备难以实现的功能和效果。例如,真无线立体声(True Wireless Stereo,TWS)蓝牙耳机进行音频同步播放,能够实现两个声道环绕声的效果。此外,还能够避免耳机线的缠绕和拉扯,以及听诊器效应,从而有效提升用户使用耳机的体验。又例如,两个蓝牙音箱进行音频同步播放,也能够实现两个声道环绕声的效果。
TWS蓝牙耳机包括没有物理连接的两个蓝牙耳机,分别为蓝牙主耳机和蓝牙从耳机,完全摒弃了有线烦恼,方便了人们的生活。由于蓝牙主耳机和蓝牙从耳机相互独立运行,无法通过有线连接实现音频播放同步,因此,如何实现蓝牙主耳机和蓝牙从耳机的音频同步播放成为急需解决的技术问题。在现有技术中,多采用软件补偿来实现蓝牙主耳机和蓝牙从耳机的音频同步播放。然而,软件补偿缺少硬件支持,音频播放同步延迟较大,无法有效提高音频同步播放的精度。与TWS蓝牙耳机类似,蓝牙音箱也存在无法有效提高音频同步播放的精度的技术问题。由此可见,如何有效提高音频播放同步的精度成为当前急需解决的技术问题。
发明内容
有鉴于此,本发明实施例所解决的技术问题之一在于提供一种音频同步播放方法、设备以及芯片,用以至少解决上述技术问题。
根据本申请实施例的第一方面,提供了一种音频同步播放方法,应用于第一音频播放设备,所述方法包括:获取所述第一音频播放设备中的蓝牙控制器的状态信息,并根据所述状态信息确定所述第一音频播放设备的本地蓝牙时间;基于所述第一音频播放设备的本地蓝牙时间,以及所述第一音频播放设备的本 地蓝牙时间相对于第二音频播放设备的本地蓝牙时间的偏移数据,预估所述第二音频播放设备的绝对时间,或者基于所述第一音频播放设备的本地蓝牙时间,以及所述第一音频播放设备的本地蓝牙时间相对于音频提供设备的本地蓝牙时间的偏移数据,预估所述音频提供设备的绝对时间,所述第二音频播放设备与所述第一音频播放设备配对且共同蓝牙连接所述音频提供设备;基于预估的所述绝对时间,与所述第二音频播放设备同步播放所述音频提供设备提供的音频信号。
根据本申请实施例的第二方面,提供了一种音频同步播放装置,所述装置包括:与蓝牙控制器通信连接的计时器,以及与所述计时器通信连接的第一音频播放模块,所述计时器,用于基于所述蓝牙控制器的状态信息确定所述第一音频播放模块的本地蓝牙时间,并基于所述第一音频播放模块的本地蓝牙时间,以及所述第一音频播放模块的本地蓝牙时间相对于第二音频播放模块的本地蓝牙时间的偏移数据,预估所述第二音频播放模块的绝对时间;或者用于基于所述第一音频播放模块的本地蓝牙时间,以及所述第一音频播放模块的本地蓝牙时间相对于音频提供设备的本地蓝牙时间的偏移数据,预估所述音频提供设备的绝对时间;所述第一音频播放模块与所述第二音频播放模块共同蓝牙连接所述音频提供设备;所述第一音频播放模块,用于基于预估的所述绝对时间,与所述第二音频播放模块同步播放所述音频提供设备提供的音频信号。
根据本申请实施例的第三方面,提供了一种音频同步播放装置,所述装置包括:与蓝牙控制器通信连接的计时器,以及与所述计时器通信连接的第一音频播放模块,所述计时器,用于基于所述蓝牙控制器的状态信息确定所述第一音频播放模块的本地蓝牙时间,并基于所述第一音频播放模块的本地蓝牙时间,以及所述第一音频播放模块的本地蓝牙时间相对于第二音频播放模块的本地蓝牙时间的偏移数据,预估所述第二音频播放模块的绝对时间;或者用于基于所述第一音频播放模块的本地蓝牙时间,以及所述第一音频播放模块的本地蓝牙时间相对于音频提供设备的本地蓝牙时间的偏移数据,预估所述音频提供设备的绝对时间,再基于预估的所述绝对时间,生成音频播放同步信号,所述第一音频播放模块与所述第二音频播放模块共同蓝牙连接所述音频提供设备;所述第一音频播放模块,用于基于所述音频播放同步信号,与所述第二音频播放模块同步播放所述音频提供设备提供的音频信号。
根据本申请实施例的第四方面,一种计算机可读存储介质,其上存储有计 算机程序,该程序被处理器执行时实现如本申请实施例第一方面所述的音频同步播放方法。
根据本申请实施例的第五方面,提供了一种电子设备,所述电子设备包括本申请实施例第二方面或者第三方面所述的音频同步播放装置。
本申请实施例通过所述第一音频播放设备的本地蓝牙时间,预估与所述第一音频播放设备配对的第二音频播放设备或者音频提供设备的绝对时间,能够使得所述第一音频播放设备获得所述第二音频播放设备或者所述音频提供设备的绝对时间,进而使得基于预估的所述绝对时间,与所述第二音频播放设备同步播放所述音频提供设备提供的音频信号,此外,所述第一音频播放设备的本地蓝牙时间是基于所述第一音频播放设备中的蓝牙控制器的蓝牙时间得到的,而蓝牙控制器的内部具备实现精确到微秒的时钟,因此,能够有效提高第一音频播放设备和第二音频播放设备的音频同步播放的精度,且无需额外占用天线进行音频播放同步信号的接收和发送。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本申请实施例的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比值绘制的。附图中:
图1A为本申请实施例一提供的音频同步播放方法的流程图;
图1B为根据本申请实施例一提供的第一音频播放设备与第二音频播放设备处于经典蓝牙协议的转发模式的第一示意图;
图1C为根据本申请实施例一提供的第一音频播放设备与第二音频播放设备处于经典蓝牙协议的转发模式的第二示意图;
图2A为本申请实施例二提供的音频同步播放方法的流程图;
图2B为根据本申请实施例二提供的第一音频播放设备与第二音频播放设备处于经典蓝牙协议的监听模式的示意图;
图3A为本申请实施例三提供的音频同步播放方法的流程图;
图3B为根据本申请实施例三提供的同步连接串流通信链路的连接时序图;
图3C为根据本申请实施例三提供的同步连接串流通信链路的同步点对齐的示意图;
图3D为根据本申请实施例三提供的音频播放设备的同步连接串流通信链 路的示意图;
图3E为根据本申请实施例三提供的第一音频播放设备与第二音频播放设备处于低功耗蓝牙协议的同步模式的示意图;
图3F为根据本申请实施例三提供的第一音频播放设备与第二音频播放设备交互事件计数参数的示意图;
图4为本申请实施例四提供的音频同步播放装置的结构示意图;
图5为本申请实施例五提供的音频同步播放装置的结构示意图;
图6为本申请实施例六提供的电子设备的结构示意图。
具体实施方式
下面结合本发明实施例附图进一步说明本发明实施例具体实现方式。
参照图1A,示出了本申请实施例一中音频同步播放方法的流程图。
本实施例提供的音频同步播放方法可应用于经典蓝牙协议的转发模式和监听模式,以及低功耗蓝牙协议的同步模式。本实施例从第一音频播放设备的角度对本实施例提供的音频同步播放方法进行详细说明。具体地,本实施例提供的音频同步播放方法包括以下步骤:
在步骤S101中,获取所述第一音频播放设备中的蓝牙控制器的状态信息,并根据所述状态信息确定所述第一音频播放设备的本地蓝牙时间。
在本实施例中,所述蓝牙控制器可理解为控制所述第一音频播放设备的蓝牙通信或者数据传输的芯片。所述状态信息可理解为用于指示所述蓝牙控制器所处的状态的信息,例如,指示所述蓝牙控制器处于工作状态的信息、指示所述蓝牙控制器处于休眠状态的信息等。所述第一音频播放设备的本地蓝牙时间可理解为在所述第一音频播放设备接入蓝牙链路之后所述第一音频播放设备本地计时的所述第一音频播放设备的蓝牙通信时长。具体地,所述第一音频播放设备的计时器从所述第一音频播放设备的蓝牙控制器中获取所述第一音频播放设备中的蓝牙控制器的状态信息,并根据所述状态信息确定所述第一音频播放设备的本地蓝牙时间。
在一些可选实施例中,在根据所述状态信息,确定所述第一音频播放设备的本地蓝牙时间时,若所述状态信息为指示所述蓝牙控制器处于工作状态的信息,则确定所述第一音频播放设备的本地蓝牙时间为所述第一音频播放设备的计时器从所述蓝牙控制器采样的蓝牙时间。其中,所述蓝牙时间可理解为所述 第一音频播放设备的蓝牙控制器计时的所述第一音频播放设备的蓝牙通信时长。籍此,当所述第一音频播放设备中的蓝牙控制器处于工作状态时,通过从所述蓝牙控制器采样蓝牙时间,能够准确地确定所述第一音频播放设备的本地蓝牙时间。
在一些可选实施例中,在根据所述状态信息,确定所述第一音频播放设备的本地蓝牙时间时,若所述状态信息为指示所述蓝牙控制器处于休眠状态的信息,则基于所述第一音频播放设备的低功耗时间,及距离当前最近一次从所述蓝牙控制器采样的蓝牙时间,确定所述第一音频播放设备的本地蓝牙时间。其中,所述低功耗时间为所述蓝牙控制器处于休眠状态的时长。籍此,当所述第一音频播放设备中的蓝牙控制器处于休眠状态时,通过所述第一音频播放设备的低功耗时间与距离当前最近一次从所述蓝牙控制器采样的蓝牙时间,能够准确地确定所述第一音频播放设备的本地蓝牙时间。
在一个具体的例子中,在基于所述第一音频播放设备的低功耗时间,及距离当前最近一次从所述蓝牙控制器采样的蓝牙时间,确定所述第一音频播放设备的本地蓝牙时间时,将所述第一音频播放设备的低功耗时间,与距离当前最近一次从所述蓝牙控制器采样的蓝牙时间进行相加,以获得相加结果,并确定所述相加结果为所述第一音频播放设备的本地蓝牙时间。
在一个具体的例子中,蓝牙通信采用了分时复用通信机制,在蓝牙控制器内部具备实现精确到微秒的蓝牙时钟。此外,由于蓝牙控制器在完成期望蓝牙数据的接收后可处于休眠状态,而在蓝牙控制器处于休眠状态时,所述第一音频播放设备的计时器无法采样蓝牙控制器的蓝牙时间,因此,在第一音频播放设备的内部设计了低功耗时钟,用于对蓝牙控制器处于休眠状态的时长进行计时。具体地,当蓝牙控制器开始休眠时,低功耗时钟从零开始计数(如,每0.5us加1),进而可获得第一音频播放设备的低功耗时间,并停止采样蓝牙控制器的蓝牙时间。在蓝牙控制器结束休眠后,低功耗时钟停止计数,所述第一音频播放设备的计时器继续采样蓝牙控制器的蓝牙时间。
在步骤S102中,基于所述第一音频播放设备的本地蓝牙时间,以及所述第一音频播放设备的本地蓝牙时间相对于第二音频播放设备的本地蓝牙时间的偏移数据,预估所述第二音频播放设备的绝对时间,或者基于所述第一音频播放设备的本地蓝牙时间,以及所述第一音频播放设备的本地蓝牙时间相对于音频提供设备的本地蓝牙时间的偏移数据,预估所述音频提供设备的绝对时间。
在本实施例中,所述音频提供设备是音频来源的提供者,音频提供设备可以是具有运算处理能力的任意设备。所述音频提供设备包括支持蓝牙协议的蓝牙控制器,其只要能够兼容与音频播放设备的蓝牙通信,则可以是但不限于支持经典蓝牙协议或低功耗蓝牙协议的单模蓝牙控制器、或还支持低功耗蓝牙协议的双模蓝牙控制器。所述音频提供设备还可具有语音通信功能。例如,所述音频提供设备可以是手机终端、平板电脑、车载设备、工业设备等。所述第二音频播放设备与所述第一音频播放设备配对且共同蓝牙连接所述音频提供设备。所述第二音频播放设备与所述第一音频播放设备配对可理解为所述第二音频播放设备与所述第一音频播放设备成对并且是匹配的。例如,用户通过TWS蓝牙耳机来收听手机终端中播放的音乐,手机终端与TWS蓝牙耳机中的两个耳机蓝牙连接,所述第一音频播放设备可为TWS蓝牙耳机中的主耳机,所述第二音频播放设备可为TWS蓝牙耳机中的从耳机,所述音频提供设备为所述手机终端。又例如,当所述第一音频播放设备为蓝牙连接至手机终端的TWS蓝牙耳机中的蓝牙从耳机时,所述第二音频播放设备可为蓝牙连接至手机终端的TWS蓝牙耳机中的蓝牙主耳机。又例如,当所述第一音频播放设备为蓝牙连接至手机终端的蓝牙主音箱时,所述第二音频播放设备可为蓝牙连接至手机终端的蓝牙从音箱。
在一些可选实施例中,所述第一音频播放设备与所述第二音频播放设备处于经典蓝牙协议的转发模式。在基于所述第一音频播放设备的本地蓝牙时间,以及所述第一音频播放设备的本地蓝牙时间相对于第二音频播放设备的本地蓝牙时间的偏移数据,预估所述第二音频播放设备的绝对时间时,基于所述第一音频播放设备的本地蓝牙时间和所述第一音频播放设备的本地蓝牙时间相对于所述第二音频播放设备的本地蓝牙时间的偏移数据,预估所述第二音频播放设备的本地蓝牙时间,并确定预估的所述第二音频播放设备的本地蓝牙时间为预估的所述绝对时间。籍此,通过所述第一音频播放设备的本地蓝牙时间和所述第一音频播放设备的本地蓝牙时间相对于所述第二音频播放设备的本地蓝牙时间的偏移数据,能够确定预估的所述第二音频播放设备的本地蓝牙时间为预估的所述绝对时间。
在一个具体的例子中,由于所述第一音频播放设备与所述第二音频播放设备处于经典蓝牙协议的转发模式,所述第一音频播放设备可为蓝牙从耳机或者蓝牙从音箱,所述第二音频播放设备可为蓝牙主耳机或者蓝牙主音箱。考虑到 蓝牙通信设备存在频率偏差,蓝牙协议规范要求蓝牙通信中的从设备在接收到期望蓝牙数据时对从设备的本地蓝牙时间相对于主设备的本地蓝牙时间的偏移数据进行计算,并根据计算得到的偏移数据预估主设备的本地蓝牙时间,以保证在接收数据时刻,主设备与从设备的蓝牙时间差不超过1us。所述第一音频播放设备的本地蓝牙时间相对于所述第二音频播放设备的本地蓝牙时间的偏移数据可从蓝牙控制器固件中获取。所述蓝牙控制器固件可理解为安装于所述蓝牙控制器中用于计算所述第一音频播放设备的本地蓝牙时间相对于所述第二音频播放设备的本地蓝牙时间的偏移数据的应用程序。具体地,当所述第一音频播放设备的蓝牙控制器每次接收到来自所述第二音频播放设备的期望蓝牙数据(如音频信号)时,所述蓝牙控制器固件可根据蓝牙协议规范,确定期望蓝牙数据从所述第二音频播放设备到达所述第一音频播放设备的期望到达时间;将所述期望到达时间与所述期望蓝牙数据从所述第二音频播放设备到达所述第一音频播放设备的实际到达时间进行比较,获得所述第一音频播放设备的本地蓝牙时间相对于所述第二音频播放设备的本地蓝牙时间的偏移数据。更具体地,所述蓝牙控制器固件可根据蓝牙协议规范,精确计算所述期望蓝牙数据期望到达的本地蓝牙时间,并计算所述期望蓝牙数据期望到达的本地蓝牙时间与所述期望蓝牙数据实际到达的本地蓝牙时间的差值,再确定所述差值为所述第一音频播放设备的本地蓝牙时间相对于所述第二音频播放设备的本地蓝牙时间的偏移数据。籍此,通过将所述期望蓝牙数据期望到达的本地蓝牙时间与所述期望蓝牙数据实际到达的本地蓝牙时间进行比较,能够准确地获得所述第一音频播放设备的本地蓝牙时间相对于所述第二音频播放设备的本地蓝牙时间的偏移数据。
在一个具体的例子中,在预估所述第二音频播放设备的本地蓝牙时间时,可对所述第一音频播放设备的本地蓝牙时间和所述第一音频播放设备的本地蓝牙时间相对于所述第二音频播放设备的本地蓝牙时间的偏移数据进行相加,以获得预估的所述第二音频播放设备的本地蓝牙时间。
在步骤S103中,基于预估的所述绝对时间,与所述第二音频播放设备同步播放所述音频提供设备提供的音频信号。
在一些可选实施例中,在基于预估的所述绝对时间,与所述第二音频播放设备同步播放所述音频提供设备提供的音频信号时,对预估的所述第二音频播放设备的本地蓝牙时间进行取模运算,以获得所述第一音频播放设备与所述第 二音频播放设备的音频信号的同步播放时间;基于所述同步播放时间,与所述第二音频播放设备同步播放所述音频提供设备提供的所述音频信号。籍此,通过对预估的所述第二音频播放设备的本地蓝牙时间进行取模运算而获得的所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间,能够方便第一音频播放设备中的音频播放模块一次性读取。
在一个具体的例子中,所述第一音频播放设备可以2^32对预估的所述第二音频播放设备的本地蓝牙时间进行取模运算,并采用32位寄存器对获得的所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间进行存储,以方便第一音频播放设备中的音频播放模块一次性读取。类似地,所述第二音频播放设备也可以2^32对所述第二音频播放设备的本地蓝牙时间进行取模运算,并采用32位寄存器对自身获得的所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间进行存储,以方便第二音频播放设备中的音频播放模块一次性读取。按照蓝牙协议规范,所述第一音频播放设备预估的所述第二音频播放设备的本地蓝牙时间与所述第二音频播放设备实际的本地蓝牙时间的误差不超过1us,也就是说,所述第一音频播放设备确定的音频同步播放时间与所述第二音频播放设备确定的音频同步播放时间的误差不超过1us。也就是说,所述第一音频播放设备确定的同步播放时间与所述第二音频播放设备确定的同步播放时间非常接近,误差在微秒量级,因此,能够有效提高所述第一音频播放设备和所述第二音频播放设备的音频播放同步的精度。
在一些可选实施例中,在基于所述同步播放时间,与所述第二音频播放设备同步播放所述音频提供设备提供的所述音频信号时,所述第一音频播放设备基于所述同步播放时间,向所述第二音频播放设备发送音频同步播放请求,所述音频同步播放请求用于使所述第二音频播放设备确定所述音频信号的开始播放时间和播放周期,并基于所述音频信号的开始播放时间和播放周期,生成发送至所述第一音频播放设备的音频同步播放响应。然后,所述第一音频播放设备接收来自第二音频播放设备的所述音频同步播放响应中携带的所述音频信号的开始播放时间和播放周期,并生成用于同步播放所述音频信号的周期性电平信号或者周期性脉冲信号。最后,所述第一音频播放设备基于所述周期性电平信号或者所述周期性脉冲信号,与所述第二音频播放设备同步播放所述音频提供设备提供的所述音频信号。籍此,通过所述音频信号的开始播放时间和播放周期生成的周期性电平信号或者周期性脉冲信号,能够有效地实现所述第一音 频播放设备与所述第二音频播放设备的音频同步播放。
在一个具体的例子中,所述第二音频播放设备基于所述音频同步播放请求,确定所述音频信号的开始播放时间和播放周期时,所述第二音频播放设备基于所述音频同步播放请求,获取所述第二音频播放设备的本地蓝牙时间;基于所述第二音频播放设备的本地蓝牙时间,确定本地的所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间;基于本地的所述同步播放时间,确定所述音频信号的开始播放时间和播放周期。
在一个具体的例子中,如图1B所示,所述第一音频播放设备为蓝牙从耳机,所述第二音频播放设备为蓝牙主耳机。具体地,当所述蓝牙控制器的状态信息为指示所述蓝牙控制器处于工作状态的信息时,所述蓝牙从耳机的音频同步播放装置确定当前从所述蓝牙控制器采样的蓝牙时间为所述蓝牙从耳机的本地蓝牙时间。当所述蓝牙控制器的状态信息为指示所述蓝牙控制器处于休眠状态的信息时,所述蓝牙从耳机的音频同步播放装置确定从所述低功耗时钟采集的低功耗时间与距离当前最近一次从所述蓝牙控制器采样的蓝牙时间的相加结果为所述蓝牙从耳机的本地蓝牙时间。在获得所述蓝牙从耳机的本地蓝牙时间之后,所述蓝牙从耳机的音频同步播放装置将从蓝牙控制器固件中获取所述蓝牙从耳机的本地蓝牙时间相对于所述蓝牙主耳机的本地蓝牙时间的偏移数据,与所述蓝牙从耳机的本地蓝牙时间进行相加,以获得预估的所述蓝牙主耳机的本地蓝牙时间。在获得预估的所述蓝牙主耳机的本地蓝牙时间之后,所述蓝牙从耳机的音频同步播放装置基于预估的所述蓝牙主耳机的本地蓝牙时间,与所述蓝牙主耳机同步播放所述手机终端提供的音频信号。
在一个具体的例子中,如图1C所示,所述第一音频播放设备为蓝牙从耳机,所述第二音频播放设备为蓝牙主耳机,所述音频提供设备为手机终端。所述蓝牙主耳机通过蓝牙链路1与所述手机终端连接,并且所述蓝牙主耳机通过蓝牙链路2与所述蓝牙从耳机连接。所述蓝牙主耳机负责向所述蓝牙从耳机转发所述手机终端发送的音频信号,也即是所述蓝牙主耳机与所述蓝牙从耳机处于经典蓝牙协议的转发模式。所述蓝牙主耳机与所述蓝牙从耳机的音频播放同步过程与本实施例中针对图1B描述的蓝牙主耳机与蓝牙从耳机的音频播放同步过程类似,在此不再赘述。按照蓝牙协议规范,蓝牙从耳机预估的所述蓝牙主耳机的本地蓝牙时间与所述蓝牙主耳机实际的本地蓝牙时间的误差不超过1us,也就是说,所述蓝牙从耳机确定的音频同步播放时间与所述蓝牙主耳机确 定的音频同步播放时间的误差不超过1us。若所述手机终端每10ms发送一帧音频信号,所述蓝牙从耳机的时钟精度为20ppm(parts per million,百万分之一),则所述蓝牙主耳机与所述蓝牙从耳机的同步播放时间的偏差不超过10ms*20ppm=0.2us。因此,在经典蓝牙的转发模式下,本实施例提供的音频同步播放方法的音频同步播放的偏差在微秒级。
本实施例通过所述第一音频播放设备的本地蓝牙时间和所述第一音频播放设备的本地蓝牙时间相对于所述第二音频播放设备的本地蓝牙时间的偏移数据,预估所述第二音频播放设备的本地蓝牙时间,能够使得所述第一音频播放设备获得所述第二音频播放设备的绝对时间,进而使得基于预估的所述第二音频播放设备的本地蓝牙时间,与所述第二音频播放设备同步播放所述音频提供设备提供的音频信号,此外,所述第一音频播放设备的本地蓝牙时间和所述第一音频播放设备的本地蓝牙时间相对于所述第二音频播放设备的本地蓝牙时间的偏移数据均是基于所述第一音频播放设备中的蓝牙控制器的蓝牙时间得到的,而蓝牙控制器的内部具备实现精确到微秒的时钟,因此,能够有效提高第一音频播放设备和第二音频播放设备的音频播放同步的精度,且无需额外占用天线进行音频播放同步信号的接收和发送。
参照图2A,示出了本申请实施例二中音频同步播放方法的流程图。
本实施例提供的音频同步播放方法可应用于经典蓝牙协议的监听模式。在详细描述本实施例提供的音频同步播放方法之前,先详细描述一下经典蓝牙协议的监听模式。假设通信系统包括音频提供设备、与所述音频提供设备蓝牙连接的第一音频播放设备,以及与所述第一音频播放设备通信连接的第二音频播放设备,所述第一音频播放设备能够向所述第二音频播放设备传输相关通信参数,如:蓝牙时间、蓝牙地址、3BIT逻辑地址、跳频序列、连接密钥、编码密钥等底层蓝牙协议参数和L2CAP、RFCOMM、Handfree、A2DP等上层蓝牙协议参数等。所述第二音频播放设备根据这些相关通信参数,以监听模式进入所述音频提供设备与所述第一音频播放设备之间的蓝牙网络中,进而完成组网。如果所述音频提供设备向所述第一音频播放设备发送音频信号,所述第二音频播放设备通过监听所述音频提供设备与所述第一音频播放设备之间的蓝牙连接,也能够接收到所述音频提供设备向所述第一音频播放设备发送的音频信号。
本实施例从所述第一音频播放设备的角度对本实施例提供的音频同步播放 方法进行详细说明。具体地,本实施例提供的音频同步播放方法包括以下步骤:
在步骤S201中,获取所述第一音频播放设备中的蓝牙控制器的状态信息,并根据所述状态信息确定所述第一音频播放设备的本地蓝牙时间。
由于该步骤S201的具体实施方式与上述实施例一中的步骤S101的具体实施方式类似,在此不再赘述。
在步骤S202中,基于所述第一音频播放设备的本地蓝牙时间和所述第一音频播放设备的本地蓝牙时间相对于所述音频提供设备的本地蓝牙时间的偏移数据,预估所述音频提供设备的本地蓝牙时间,并确定预估的所述音频提供设备的本地蓝牙时间为预估的所述绝对时间。
在本实施例中,所述第二音频播放设备与所述第一音频播放设备配对且共同蓝牙连接所述音频提供设备。关于所述第二音频播放设备与所述第一音频播放设备配对且共同蓝牙连接所述音频提供设备的举例说明参照上述实施例一中的步骤S102,在此不再赘述。
在一个具体的例子中,由于所述第一音频播放设备与所述第二音频播放设备处于经典蓝牙协议的监听模式,所述第一音频播放设备包括蓝牙主耳机或者蓝牙从耳机,所述第二音频播放设备包括蓝牙主耳机或者蓝牙从耳机。所述第一音频播放设备的本地蓝牙时间相对于所述音频提供设备的本地蓝牙时间的偏移数据可从蓝牙控制器固件中获取。
在一个具体的例子中,在预估所述音频提供设备的本地蓝牙时间时,可对所述第一音频播放设备的本地蓝牙时间和所述第一音频播放设备的本地蓝牙时间相对于所述音频提供设备的本地蓝牙时间的偏移数据进行相加,以获得预估的所述音频提供设备的本地蓝牙时间。
在步骤S203中,基于预估的所述绝对时间,与所述第二音频播放设备同步播放所述音频提供设备提供的音频信号。
在一些可选实施例中,在基于预估的所述绝对时间,与所述第二音频播放设备同步播放所述音频提供设备提供的音频信号时,对预估的所述音频提供设备的本地蓝牙时间进行取模运算,以获得所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间;基于所述同步播放时间,与所述第二音频播放设备同步播放所述音频提供设备提供的所述音频信号。籍此,通过对预估的所述音频提供设备的本地蓝牙时间进行取模运算而获得的所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间,能够方便第一 音频播放设备中的音频播放模块一次性读取。
在一些可选实施例中,在基于所述同步播放时间,与所述第二音频播放设备同步播放所述音频提供设备提供的所述音频信号时,基于所述同步播放时间,向所述第二音频播放设备发送音频同步播放请求,所述音频同步播放请求用于使所述第二音频播放设备确定所述音频信号的开始播放时间和播放周期,并基于所述音频信号的开始播放时间和播放周期,生成发送至所述第一音频播放设备的音频同步播放响应;接收来自第二音频播放设备的所述音频同步播放响应中携带的所述音频信号的开始播放时间和播放周期,并生成用于同步播放所述第一音频播放设备与所述第二音频播放设备的音频信号的周期性电平信号或者周期性脉冲信号;基于所述周期性电平信号或者所述周期性脉冲信号,与所述第二音频播放设备同步播放所述音频提供设备提供的所述音频信号。籍此,通过所述音频信号的开始播放时间和播放周期生成的周期性电平信号或者周期性脉冲信号,能够有效地实现所述第一音频播放设备与所述第二音频播放设备的音频同步播放。
在一个具体的例子中,所述第二音频播放设备基于所述音频同步播放请求,确定所述音频信号的开始播放时间和播放周期时,所述第二音频播放设备基于所述音频同步播放请求,获取预估的所述音频提供设备的本地蓝牙时间;基于预估的所述音频提供设备的本地蓝牙时间,确定本地的所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间;基于本地的所述同步播放时间,确定所述音频信号的开始播放时间和播放周期。由于所述第二音频播放设备确定本地的所述同步播放时间的具体实施方式与所述第一音频播放设备确定本地的所述同步播放时间的具体实施方式类似,并且预估所述音频提供设备的本地蓝牙时间的具体实施方式也类似,所述第二音频播放设备确定的同步播放时间与上述确定的同步播放时间非常接近,误差在微秒级,因此,能够有效提高所述第一音频播放设备与所述第二音频播放设备的音频播放同步的精度。
在一个具体的例子中,如图2B所示,所述第一音频播放设备为蓝牙从耳机,所述第二音频播放设备为蓝牙主耳机,所述音频提供设备为手机终端。所述蓝牙主耳机与所述手机终端蓝牙连接,并且所述蓝牙主耳机与所述蓝牙从耳机通信连接。所述蓝牙主耳机与所述蓝牙从耳机的音频同步播放过程如下:当所述蓝牙控制器的状态信息为指示所述蓝牙控制器处于工作状态的信息时,所述蓝牙从耳机的音频同步播放装置确定从所述蓝牙控制器采样的蓝牙时间为所 述蓝牙从耳机的本地蓝牙时间。当所述蓝牙控制器的状态信息为指示所述蓝牙控制器处于休眠状态的信息时,所述蓝牙从耳机的音频同步播放装置确定从所述低功耗时钟采样的低功耗时间与距离当前最近一次从所述蓝牙控制器采样的蓝牙时间的相加结果为所述蓝牙从耳机的本地蓝牙时间。在获得所述蓝牙从耳机的本地蓝牙时间之后,所述蓝牙从耳机的音频同步播放装置将从蓝牙控制器固件中获取所述蓝牙从耳机的本地蓝牙时间相对于所述手机终端的本地蓝牙时间的偏移数据,与所述蓝牙从耳机的本地蓝牙时间进行相加,以获得预估的所述手机终端的本地蓝牙时间。在获得预估的所述手机终端的本地蓝牙时间之后,所述蓝牙从耳机的音频同步播放装置对预估的所述手机终端的本地蓝牙时间进行取模运算,以获得所述音频信号的同步播放时间。类似地,所述蓝牙主耳机以与所述蓝牙从耳机相同的方式获得所述音频信号的同步播放时间。然后,所述蓝牙从耳机基于所述同步播放时间,生成用于同步播放所述音频信号的周期性电平信号或者周期性脉冲信号,最后基于所述周期性电平信号或者周期性脉冲信号,与所述蓝牙主耳机同步播放所述手机终端提供的音频信号。
按照蓝牙协议规范,蓝牙从耳机预估的所述手机终端的本地蓝牙时间与所述手机终端实际的本地蓝牙时间的误差不超过1us,蓝牙主耳机预估的所述手机终端的本地蓝牙时间与所述手机终端实际的本地蓝牙时间的误差也不超过1us,因此,蓝牙主耳机预估的所述手机终端的本地蓝牙时间与蓝牙从耳机预估的所述手机终端的本地蓝牙时间的误差不超过2us。也就是说,所述蓝牙从耳机确定的同步播放时间与所述蓝牙主耳机确定的同步播放时间的误差不超过2us。若所述手机终端每10ms发送一帧音频信号,所述蓝牙主耳机与所述蓝牙从耳机的时间精度均为20ppm(parts per million,百万分之一),则所述蓝牙主耳机或者所述蓝牙从耳机与所述手机终端的时间偏差不超过10ms*20ppm=0.2us,即所述蓝牙主耳机与所述蓝牙从耳机的同步播放时间的偏差通常不超过2.4us。因此,在经典蓝牙的监听模式下,本实施例提供的音频同步播放方法的音频同步播放的偏差在微秒级。
本实施例通过所述第一音频播放设备的本地蓝牙时间和所述第一音频播放设备的本地蓝牙时间相对于所述音频提供设备的本地蓝牙时间的偏移数据预估所述音频提供设备的本地蓝牙时间,能够使得所述第一音频播放设备获得所述音频提供设备的绝对时间,进而使得基于预估的所述音频提供设备的本地蓝牙时间,与所述第二音频播放设备同步播放所述音频提供设备提供的音频信号, 此外,所述第一音频播放设备的本地蓝牙时间和所述第一音频播放设备的本地蓝牙时间相对于所述音频提供设备的本地蓝牙时间的偏移数据均是基于所述第一音频播放设备中的蓝牙控制器的蓝牙时间得到的,而蓝牙控制器的内部具备实现精确到微秒的时钟,因此,能够有效提高所述第一音频播放设备和所述第二音频播放设备的音频同步播放的精度,并无需额外占用天线进行音频播放同步信号的接收和发送。
参照图3A,示出了本申请实施例三中音频同步播放方法的流程图。
本实施例提供的音频同步播放方法可应用于低功耗蓝牙协议的同步模式。在详细描述本实施例提供的音频同步播放方法之前,先详细描述一下低功耗蓝牙协议的同步模式。低功耗蓝牙协议的同步模式中的同步连接串流(Connected Isochronous Stream,CIS)是低功耗蓝牙协议最新推出的适合TWS蓝牙耳机的面向连接的多通道同步数据收发的协议,如图3B所示,其主要特点如下:在一个同步时隙(如10ms)内,主设备(如手机终端)和从设备(如TWS蓝牙耳机中的蓝牙主耳机)将完成当前的数据交互,数据交互具有实时性。具体地,若主设备在150us后未收到从设备回复的确认消息,将认为从设备未收到数据,主设备将自动重发该数据。若从设备在规定时间内仍未收到该数据,则会导致超时,主设备将不再重发超时的数据。其中,同步时隙、超时信息等参数由主设备下发至从设备。此外,如图3C所示,多个同步连接串流通信链路传输的期望蓝牙数据可对齐,对齐点为同步点(通常为最后一个同步连接串流通信链路的结束时间),即多个同步连接串流通信链路中的从设备中的蓝牙控制器在对齐点(同一时刻)将接收到的期望蓝牙数据(如音频信号)上传至从设备的上层(如音频播放模块)。不同从设备中的蓝牙控制器接收到的期望蓝牙数据的等待上传时间由各自的同步连接串流通信链路中的同步时延参数控制,该同步时延参数由主设备下发至从设备。其中,多个同步连接串流通信链路组成同步连接串组(Connected Isochronous Group,CIG)。在具体的应用场景中,如图3D所示,手机终端分别与TWS蓝牙耳机中的蓝牙主耳机和蓝牙从耳机建立同步连接串流通信链路,其中,手机终端与蓝牙主耳机建立的同步连接串流通信链路为同步连接串流1,手机终端与蓝牙从耳机建立的同步连接串流通信链路为同步连接串流2。与此同时,手机终端分别向蓝牙主耳机和蓝牙从耳机分发同步连接串流1和同步连接串流2的时间参数,例如,同步时隙、数据传输 时延、同步时延(同步连接串流1和同步连接串流2相对同步点的时间差)等。在接收到音频信号后,蓝牙主耳机和蓝牙从耳机根据各自的时间参数,将接收到的音频信号同步发送至蓝牙主耳机和蓝牙从耳机的音频播放模块。然后,蓝牙主耳机和蓝牙从耳机的音频播放模块分别对接收到的音频信号进行解码并播放。
本实施例从所述第一音频播放设备的角度对本实施例提供的音频同步播放方法进行详细说明。具体地,本实施例提供的音频同步播放方法包括以下步骤:
在步骤S301中,获取所述第一音频播放设备中的蓝牙控制器的状态信息,并根据所述状态信息确定所述第一音频播放设备的本地蓝牙时间。
在一些可选实施例中,所述第一音频播放设备通过第一同步连接串流通信链路与所述音频提供设备蓝牙连接,并且所述第二音频播放设备通过第二同步连接串流通信链路与所述音频提供设备蓝牙连接。在根据所述状态信息确定所述第一音频播放设备的本地蓝牙时间时,当所述第一同步连接串流通信链路处于第n个同步点时,基于所述第一音频播放设备中的蓝牙控制器的状态信息,确定所述第一音频播放设备的本地蓝牙时间,其中,n为等于或大于2的整数。籍此,通过所述第一音频播放设备中的蓝牙控制器的状态信息,能够准确地确定所述第一同步连接串流通信链路处于第n个同步点时所述第一音频播放设备的本地蓝牙时间。
在一个具体的例子中,所述第一音频播放设备可为蓝牙主音箱、蓝牙从音箱、TWS蓝牙耳机中的蓝牙主耳机或者蓝牙从耳机等。所述第二音频播放设备可为蓝牙主音箱、蓝牙从音箱、TWS蓝牙耳机中的蓝牙主耳机或者蓝牙从耳机等。所述同步点可理解为接入所述第一同步连接串流通信链路中的所述第一音频播放设备中的蓝牙控制器,将接收到的音频信号同步上传至所述第一音频播放设备的音频播放模块的时间点。所述蓝牙控制器可理解为控制所述第一音频播放设备的蓝牙通信或者数据传输的芯片。所述状态信息可理解为用于指示所述蓝牙控制器所处的状态的信息,例如,指示所述蓝牙控制器处于工作状态的信息、指示所述蓝牙控制器处于休眠状态的信息等。由于本实施例中所述基于所述第一音频播放设备中的蓝牙控制器的状态信息,确定所述第一音频播放设备的本地蓝牙时间的具体实施方式与上述实施例一中步骤S101的具体实施方式类似,在此不再赘述。
在步骤S302中,基于所述第一音频播放设备的第一本地蓝牙时间、所述 第一音频播放设备的第二本地蓝牙时间、以及所述第一音频播放设备的本地蓝牙时间相对于所述音频提供设备的本地蓝牙时间的偏移数据,确定所述第一本地蓝牙时间相对于所述第二本地蓝牙时间的流逝时间,并确定所述流逝时间为预估的所述绝对时间。
在本实施例中,所述第一本地蓝牙时间为所述第一同步连接串流通信链路处于第n个同步点时所述第一音频播放设备的本地蓝牙时间,所述第二本地蓝牙时间为所述第一同步连接串流通信链路处于第一个同步点时所述第一音频播放设备的本地蓝牙时间。所述第二音频播放设备与所述第一音频播放设备配对且共同蓝牙连接所述音频提供设备。关于所述第二音频播放设备与所述第一音频播放设备配对且共同蓝牙连接所述音频提供设备的举例说明参照上述实施例一中的步骤S102,在此不再赘述。
在一个具体的例子中,由于在低功耗蓝牙协议规范中主设备(如音频提供设备)不向从设备(如第一音频播放设备)发送主设备(如音频提供设备)的本地蓝牙时间,使得所述第一音频播放设备无法通过预估音频提供设备的本地蓝牙时间来确定所述音频提供设备的绝对时间。因此,可以利用所述第一同步连接串流通信链路和所述第二同步连接串流通信链路的同步特性,将所述第一同步连接串流通信链路处于第一个同步点时所述第一音频播放设备的本地蓝牙时间作为参考时间,及将所述第二同步连接串流通信链路处于第一个同步点时所述第二音频播放设备的本地蓝牙时间作为参考时间,以确定所述第二音频播放设备的绝对时间。此外,考虑到蓝牙通信设备存在频率偏差,低功耗蓝牙协议规范要求蓝牙通信中的从设备在接收到期望蓝牙数据时对从设备的本地蓝牙时间相对于主设备的本地蓝牙时间的偏移数据进行计算,并根据计算得到的偏移数据进行校准,以保证在同步点时,主设备与从设备的时间差不超过1us。具体地,当所述第一音频播放设备的蓝牙控制器每次接收到来自所述音频提供设备的期望蓝牙数据时,可根据同步时隙和事件计数参数等,精确计算所述期望蓝牙数据期望到达的时间,并计算所述期望蓝牙数据期望到达的时间与所述期望蓝牙数据实际到达的时间的差值,再确定所述差值为所述第一音频播放的本地蓝牙时间相对于所述音频提供设备的本地蓝牙时间的偏移数据。
在一个具体的例子中,在确定所述第一音频播放设备的第一本地蓝牙时间相对于所述第一音频播放设备的第二本地蓝牙时间的流逝时间时,将所述第一本地蓝牙时间减去所述第二本地蓝牙时间,获得时间相减结果,并将所述时间 相减结果与所述第一音频播放设备的本地蓝牙时间相对于所述音频提供设备的本地蓝牙时间的偏移数据进行相加,以获得所述第一音频播放设备的第一本地蓝牙时间相对于所述第一音频播放设备的第二本地蓝牙时间的流逝时间。
在步骤S303中,基于预估的所述绝对时间,与所述第二音频播放设备同步播放所述音频提供设备提供的音频信号。
在一些可选实施例中,在基于预估的所述绝对时间,与所述第二音频播放设备同步播放所述音频提供设备提供的音频信号时,若所述第二同步连接串流通信链路处于的同步点与所述第一同步连接串流通信链路处于的第n个同步点对齐,则基于所述流逝时间,确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间,并基于所述同步播放时间,与所述第二音频播放设备同步播放所述音频提供设备提供的所述音频信号。籍此,通过所述流逝时间,能够准确地确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间。
在一些可选实施例中,在基于所述流逝时间,确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间时,基于所述流逝时间和预先配置的最大音频解码时长,确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间。其中,所述预先配置的最大音频解码时长可为5ms。籍此,通过所述流逝时间和预先配置的最大音频解码时长,能够准确地确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间。
在一个具体的例子中,所述音频提供设备为手机终端,所述第一音频播放设备为TWS蓝牙耳机中的蓝牙主耳机,所述第二音频播放设备为TWS蓝牙耳机中的蓝牙从耳机,并且所述蓝牙主耳机和所述蓝牙从耳机分别通过第一同步连接串流通信链路和第二同步连接串流通信链路与所述手机终端蓝牙连接。若所述第一同步连接串流通信链路当前处于第n个同步点,并且所述第二同步连接串流通信链路当前处于的第m(m为等于或大于1的整数)个同步点与第一同步连接串流通信链路当前处于的第n个同步点对齐,则所述蓝牙主耳机可将所述第一同步连接串流通信链路当前处于第n个同步点的本地蓝牙时间相对于所述第一同步连接串流通信链路处于第一个同步点的本地蓝牙时间的流逝时间,加上所述预先配置的最大音频解码时长,可获得所述蓝牙主耳机本地的所述蓝牙主耳机与所述蓝牙从耳机的音频信号的同步播放时间,类似地,所述蓝牙从 耳机可将所述第二同步连接串流通信链路当前处于第m个同步点的本地蓝牙时间相对于所述第二同步连接串流通信链路处于第一个同步点的本地蓝牙时间的流逝时间,加上所述预先配置的最大音频解码时长,可获得所述蓝牙从耳机本地的所述蓝牙主耳机与所述蓝牙从耳机的音频信号的同步播放时间。由于所述第二同步连接串流通信链路当前处于的第m个同步点与所述第一同步连接串流通信链路当前处于的第n个同步点对齐,那么所述蓝牙从耳机将接收到的音频信号上传至所述蓝牙从耳机的音频播放模块的时间与所述蓝牙主耳机将接收到的音频信号上传至所述蓝牙主耳机的音频播放模块的时间相同,因此,仅需考虑所述蓝牙从耳机的音频播放模块对音频信号的解码时长,以及所述蓝牙主耳机的音频播放模块对音频信号的解码时长。由于所述蓝牙主耳机与所述蓝牙从耳机接收到的音频信号不相同,所述蓝牙从耳机的音频播放模块对音频信号的解码时长与所述蓝牙主耳机的音频播放模块对音频信号的解码时长不相同,因此,可预先配置最大的音频解码时长,以获得所述蓝牙主耳机本地的所述蓝牙主耳机与所述蓝牙从耳机的音频信号的同步播放时间和所述蓝牙从耳机本地的所述蓝牙主耳机与所述蓝牙从耳机的音频信号的同步播放时间,从而实现所述蓝牙主耳机与所述蓝牙从耳机的音频信号的同步播放。其中,该时长可为音频信号帧的最大解码时长,例如5ms。
在一些可选实施例中,在基于所述流逝时间,确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间时,基于所述流逝时间和接收到的所述第二音频播放设备发送的第二事件计数参数,确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间,其中,所述第二事件计数参数用于对所述第二音频播放设备接入所述第二同步连接串流通信链路的同步时隙的数量进行计数。籍此,通过所述流逝时间和接收到的所述第二音频播放设备发送的第二事件计数参数,能够准确地确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间。
在一个具体的例子中,按照低功耗蓝牙协议规定,在所述第二音频播放设备与所述音频提供设备建立所述第二同步连接串流通信链路时,所述第二音频播放设备的第二事件计数参数为零,并在每间隔同步时隙的时间加一。也就是说,所述第二事件计数参数用于对所述第二音频播放设备接入所述第二同步连接串流通信链路的同步时隙的数量进行计数。所述第二音频播放设备可通过广播或者建立通信连接的方式,将所述第二事件计数参数发送至所述第一音频播 放设备。
在一些可选实施例中,在基于所述流逝时间和接收到的所述第二音频播放设备发送的第二事件计数参数,确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间时,基于所述流逝时间、所述第一音频播放设备的第一事件计数参数、所述第二音频播放设备的第二事件计数参数,以及所述第一音频播放设备接入所述第一同步连接串流通信链路的同步时隙,确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间,其中,所述第一音频播放设备的第一事件计数参数用于对所述第一音频播放设备接入所述第一同步连接串流通信链路的同步时隙的数量进行计数。籍此,通过所述流逝时间、所述第一音频播放设备的第一事件计数参数、所述第二音频播放设备的第二事件计数参数,以及所述第一音频播放设备接入所述第一同步连接串流通信链路的同步时隙,能够准确地确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间。
在一个具体的例子中,在基于所述流逝时间、所述第一音频播放设备的第一事件计数参数、所述第二音频播放设备的第二事件计数参数,以及所述第一音频播放设备接入所述第一同步连接串流通信链路的同步时隙,确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间时,将所述第二音频播放设备的所述第二事件计数参数减去所述第一音频播放设备的第一事件计数参数,以获得相减结果;将所述相减结果与所述同步时隙进行相乘,以获得相乘结果;将所述相乘结果与所述第一音频播放设备的所述流逝时间进行相加,以获得所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间。
在一个具体的例子中,所述音频提供设备为手机终端,所述第一音频播放设备为TWS蓝牙耳机中的蓝牙主耳机,所述第二音频播放设备为TWS蓝牙耳机中的蓝牙从耳机,并且所述蓝牙主耳机通过所述第一同步连接串流通信链路与所述手机终端蓝牙连接,所述蓝牙从耳机通过所述第二同步连接串流通信链路与所述手机终端蓝牙连接。由于所述蓝牙主耳机与所述手机终端接入所述第一同步连接串流通信链路的时间,与所述蓝牙从耳机与所述手机终端接入所述第二同步连接串流通信链路的时间不相同,并且在所述蓝牙主耳机与所述手机终端接入所述第一同步连接串流通信链路,及所述蓝牙从耳机与所述手机终端接入所述第二同步连接串流通信链路之后,所述第一同步连接串流通信链路处 于的同步点与所述第二同步连接串流通信链路处于的同步点对齐,因此,在所述第二同步连接串流通信链路当前处于的第m个同步点与所述第一同步连接串流通信链路当前处于的第n个同步点对齐的情况下,第一流逝时间与第二流逝时间的第一差值等于相邻的两个同步点的时间间隔的倍数,其中,所述第一流逝时间为所述第二同步连接串流通信链路当前处于第m个同步点时所述蓝牙从耳机的本地蓝牙时间相对于所述第二同步连接串流通信链路处于第一个同步点时所述蓝牙从耳机的本地蓝牙时间的流逝时间,所述第二流逝时间为所述第一同步连接串流通信链路当前处于第n个同步点时所述蓝牙主耳机的本地蓝牙时间相对于所述第一同步连接串流通信链路处于第一个同步点时所述蓝牙主耳机的本地蓝牙时间的流逝时间,而相邻的两个同步点的时间间隔为同步时隙的倍数,则可以推测出所述第一差值等于同步时隙的倍数,而所述蓝牙从耳机的事件计数参数用于对所述蓝牙从耳机接入所述第二同步连接串流通信链路的同步时隙进行计数,所述蓝牙主耳机的事件计数参数用于对所述蓝牙主耳机接入所述第一同步连接串流通信链路的同步时隙进行计数,那么可以根据低功耗蓝牙协议的同步模式的特性,得到同步时隙的倍数为所述蓝牙从耳机的事件计数参数与所述蓝牙主耳机的事件计数参数的第二差值。由此,可得到所述第一差值等于所述第二差值与同步时隙的乘积,进而可得到所述第一流逝时间等于所述第二流逝时间加上所述第二差值与同步时隙的乘积。因此,对于所述蓝牙从耳机而言,可根据所述第一流逝时间,确定所述蓝牙主耳机与所述蓝牙从耳机的音频信号的同步播放时间,而对于所述蓝牙主耳机而言,可接收所述蓝牙从耳机发送的所述蓝牙从耳机的事件计数参数,并根据所述蓝牙从耳机的事件计数参数计算所述第二差值,再计算所述第二差值与同步时隙的乘积,再将所述第二差值与同步时隙的乘积与所述第二流逝时间进行相加,最后根据相加结果,确定所述蓝牙主耳机与所述蓝牙从耳机的音频信号的同步播放时间。
在一些可选实施例中,所述基于所述同步播放时间,与所述第二音频播放设备同步播放所述音频提供设备提供的所述音频信号的具体实施方式与上述实施例二的步骤S203中所述基于所述同步播放时间,与所述第二音频播放设备同步播放所述音频提供设备提供的所述音频信号的具体实施方式类似,在此不再赘述。
在一个具体的例子中,所述第二音频播放设备基于所述音频同步播放请求,确定所述音频信号的开始播放时间和播放周期时,所述第二音频播放设备基于 所述音频同步播放请求,获取所述第二音频播放设备的流逝时间;基于所述第二音频播放设备的流逝时间,确定本地的所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间;基于所述本地的所述同步播放时间,确定所述音频信号的开始播放时间和播放周期。其中,所述第二音频播放设备的流逝时间为在所述第二同步连接串流通信链路当前处于的第m个同步点与所述第一同步连接串流通信链路当前处于的第n个同步点对齐的情况下,所述第二同步连接串流通信链路当前处于第m个同步点时所述第二音频播放设备的本地蓝牙时间相对于所述第二同步连接串流通信链路处于第一个同步点时所述第二音频播放设备的本地蓝牙时间的流逝时间。
在一个具体的例子中,如图3E所示,所述音频提供设备为手机终端,所述第一音频播放设备为TWS蓝牙耳机中的蓝牙主耳机,所述第二音频播放设备为TWS蓝牙耳机中的蓝牙从耳机,所述手机终端分别与所述蓝牙主耳机和所述蓝牙从耳机建立同步连接串流通信链路,其中,所述手机终端与所述蓝牙主耳机建立的同步连接串流通信链路为同步连接串流1通信链路,所述手机终端与蓝牙从耳机建立的同步连接串流通信链路为同步连接串流2通信链路。所述蓝牙主耳机与所述蓝牙从耳机的音频播放同步过程与本实施例中针对步骤S303描述的蓝牙主耳机与蓝牙从耳机的音频播放同步过程类似,在此不再赘述。
在一个具体的例子中,如图3F所示,所述音频提供设备为手机终端,所述第一音频播放设备为TWS蓝牙耳机中的蓝牙主耳机,所述第二音频播放设备为TWS蓝牙耳机中的蓝牙从耳机,并且所述蓝牙主耳机通过所述第一同步连接串流通信链路与所述手机终端蓝牙连接,所述蓝牙从耳机通过所述第二同步连接串流通信链路与所述手机终端蓝牙连接。若所述第二同步连接串流通信链路当前处于第m个同步点与所述第一同步连接串流通信链路当前处于第n个同步点对齐,对于所述蓝牙从耳机而言,可根据所述第一流逝时间,确定所述蓝牙主耳机与所述蓝牙从耳机的音频信号的同步播放时间,而对于所述蓝牙主耳机而言,可接收所述蓝牙从耳机发送的所述蓝牙从耳机的事件计数参数,并根据所述蓝牙从耳机的事件计数参数,与所述第二流逝时间,确定所述同步播放时间。其中,所述第一流逝时间为所述第二同步连接串流通信链路当前处于第m个同步点时所述蓝牙从耳机的本地蓝牙时间相对于所述第二同步连接串流通信链路处于第一个同步点时所述蓝牙从耳机的本地蓝牙时间的流逝时间,所述第二流逝时间为所述第一同步连接串流通信链路当前处于第n个同步点时 所述蓝牙主耳机的本地蓝牙时间相对于所述第一同步连接串流通信链路处于第一个同步点时所述蓝牙主耳机的本地蓝牙时间的流逝时间。在获得所述同步播放时间之后,所述蓝牙主耳机与所述蓝牙从耳机均基于确定的所述同步播放时间,生成用于同步播放所述蓝牙主耳机与所述蓝牙从耳机的音频信号的周期性电平信号或者周期性脉冲信号,并基于所述周期性电平信号或者周期性脉冲信号,同步播放所述音频信号。
本实施例通过确定所述第一同步连接串流通信链路处于第n个同步点时所述第一音频播放设备的本地蓝牙时间相对于所述第一同步连接串流通信链路处于第一个同步点时所述第一音频播放设备的本地蓝牙时间的流逝时间,能够使得所述第一音频播放设备利用同步连接串流通信链路的同步特性,获得所述第二音频播放设备的绝对时间,进而可基于所述第二音频播放设备的绝对时间,确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间,此外,所述第一同步连接串流通信链路处于第n个同步点时的本地蓝牙时间和所述第一同步连接串流通信链路处于第一个同步点时的本地蓝牙时间均是基于所述第一音频播放设备中的蓝牙控制器的蓝牙时间得到的,而蓝牙控制器的内部具备实现精确到微秒的时钟,因此,能够有效提高第一音频播放设备和第二音频播放设备的音频播放同步的精度,并无需额外占用天线进行音频播放同步信号的接收和发送。
本申请实施例四提供一种音频同步播放装置,所述装置包括:与蓝牙控制器通信连接的计时器,以及与所述计时器通信连接的第一音频播放模块,所述计时器,用于基于所述蓝牙控制器的状态信息确定所述第一音频播放模块的本地蓝牙时间,并基于所述第一音频播放模块的本地蓝牙时间,以及所述第一音频播放模块的本地蓝牙时间相对于第二音频播放模块的本地蓝牙时间的偏移数据,预估所述第二音频播放模块的绝对时间;或者用于基于所述第一音频播放模块的本地蓝牙时间,以及所述第一音频播放模块的本地蓝牙时间相对于音频提供设备的本地蓝牙时间的偏移数据,预估所述音频提供设备的绝对时间;所述第一音频播放模块与所述第二音频播放模块共同蓝牙连接所述音频提供设备;所述第一音频播放模块,用于基于预估的所述绝对时间,与所述第二音频播放模块同步播放所述音频提供设备提供的音频信号。其中,所述装置还包括与所述计时器通信连接的所述蓝牙控制器。籍此,通过所述计时器根据所述第一音 频播放模块的本地蓝牙时间,预估第二音频播放模块或者音频提供设备的绝对时间,能够使得所述第一音频播放模块获得第二音频播放模块或者音频提供设备的绝对时间,进而使得所述第一音频播放模块基于预估的所述绝对时间,与所述第二音频播放模块同步播放所述音频提供设备提供的音频信号,此外,所述第一音频播放模块的本地蓝牙时间是基于所述蓝牙控制器的蓝牙时间得到的,而蓝牙控制器的内部具备实现精确到微秒的时钟,因此,能够有效提高第一音频播放模块和第二音频播放模块的音频同步播放的精度,并无需额外占用天线进行音频播放同步信号的接收和发送。
在一个具体的例子中,如图4所示,所述第一音频播放模块所在的音频播放设备与所述第二音频播放模块所在的音频播放设备蓝牙连接。所述音频播放设备的内部设置有音频同步播放装置。所述音频同步播放装置包括蓝牙控制器、与所述蓝牙控制器通信连接的计时器,以及与所述计时器通信连接的第一音频播放模块。当所述蓝牙控制器的状态信息为指示所述蓝牙控制器处于工作状态的信息时,所述计时器确定从所述蓝牙控制器采样的蓝牙时间为所述第一音频播放模块的本地蓝牙时间。当所述蓝牙控制器的状态信息为指示所述蓝牙控制器处于休眠状态的信息时,所述计时器确定从所述低功耗时钟采样的低功耗时间与距离当前最近一次从所述蓝牙控制器采样的蓝牙时间的相加结果为所述第一音频播放模块的本地蓝牙时间。在获得所述第一音频播放模块的本地蓝牙时间之后,所述计时器从蓝牙控制器固件中获取所述第一音频播放模块的本地蓝牙时间相对于所述第二音频播放模块的本地蓝牙时间的偏移数据,并将所述偏移数据与所述第一音频播放模块的本地蓝牙时间进行相加,预估所述第二音频播放模块的本地蓝牙时间。在预估所述第二音频播放模块的本地蓝牙时间之后,所述计时器确定预估的所述第二音频播放模块的绝对时间为预估的所述第二音频播放模块的本地蓝牙时间,并将预估的所述第二音频播放模块的本地蓝牙时间发送至所述第一音频播放模块。所述第一音频播放模块对预估的所述第二音频播放模块的本地蓝牙时间进行取模运算,以获得所述第一音频播放模块与所述第二音频播放模块的音频信号的同步播放时间,并基于所述同步播放时间,生成用于同步播放所述第一音频播放模块与所述第二音频播放模块的音频信号的周期性电平信号或者周期性脉冲信号,最后基于所述周期性电平信号或者周期性脉冲信号,与所述第二音频播放模块同步播放所述音频提供设备提供的音频信号。
本申请实施例五提供一种音频同步播放装置,所述装置包括:与蓝牙控制器通信连接的计时器,以及与所述计时器通信连接的第一音频播放模块,所述计时器,用于基于所述蓝牙控制器的状态信息确定所述第一音频播放模块的本地蓝牙时间,并基于所述第一音频播放模块的本地蓝牙时间,以及所述第一音频播放模块的本地蓝牙时间相对于第二音频播放模块的本地蓝牙时间的偏移数据,预估所述第二音频播放模块的绝对时间;或者用于基于所述第一音频播放模块的本地蓝牙时间,以及所述第一音频播放模块的本地蓝牙时间相对于音频提供设备的本地蓝牙时间的偏移数据,预估所述音频提供设备的绝对时间,再基于预估的所述绝对时间,生成音频播放同步信号,所述第一音频播放模块与所述第二音频播放模块共同蓝牙连接所述音频提供设备;所述第一音频播放模块,用于基于所述音频播放同步信号,与所述第二音频播放模块同步播放所述音频提供设备提供的音频信号。其中,所述音频播放同步信号可为周期性电平信号或者周期性脉冲信号,所述装置还包括与所述计时器通信连接的所述蓝牙控制器。籍此,通过所述计时器根据所述第一音频播放模块的本地蓝牙时间,预估第二音频播放模块或者音频提供设备的绝对时间,能够使得所述计时器基于所述绝对时间获得第一音频播放模块与第二音频播放模块的音频播放同步信号,进而使得所述第一音频播放模块基于所述音频播放同步信号,与所述第二音频播放模块同步播放所述音频提供设备提供的音频信号,此外,所述第一音频播放模块的本地蓝牙时间是基于所述蓝牙控制器的蓝牙时间得到的,而蓝牙控制器的内部具备实现精确到微秒的时钟,因此,能够有效提高第一音频播放模块和第二音频播放模块的音频同步播放的精度,并无需额外占用天线进行音频播放同步信号的接收和发送。
在一个具体的例子中,如图5所示,所述第一音频播放模块所在的音频播放设备与所述第二音频播放模块所在的音频播放设备蓝牙连接。与图4所示的流程不同的是,所述计时器未将预估的所述第二音频播放模块的本地蓝牙时间发送至所述第一音频播放模块,而是对预估的所述第二音频播放模块的本地蓝牙时间进行取模运算,以获得所述第一音频播放模块与所述第二音频播放模块的音频信号的同步播放时间,并基于所述同步播放时间,生成用于同步播放所述第一音频播放模块与所述第二音频播放模块的音频信号的周期性电平信号或者周期性脉冲信号,最后将所述周期性电平信号或者周期性脉冲信号发送至所 述第一音频播放模块。所述第一音频播放模块基于所述周期性电平信号或者周期性脉冲信号,与所述第二音频播放模块同步播放所述音频提供设备提供的音频信号。
基于上述实施例所描述的音频同步播放方法,本申请实施例六提供了一种电子设备,用于执行上述实施例所描述的音频同步播放方法,如图6所示,该电子设备600包括:至少一个处理器(processor)602、存储器(memory)604、总线606及通信接口(Communications Interface)608。
其中:
处理器602、通信接口608、以及存储器604通过通信总线606完成相互间的通信。
通信接口608,用于与其它设备进行通信。
处理器602,用于执行程序610,具体可以执行上述实施例一到实施例三所描述的音频同步播放方法中的相关步骤。
具体地,程序610可以包括程序代码,该程序代码包括计算机操作指令。
处理器602可能是中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器604,用于存放程序610。存储器604可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
基于上述实施例一至实施例三所描述的音频同步播放方法,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如实施例一至实施例三所描述的音频同步播放方法。
本申请实施例的计算装置及电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)其他具有数据交互功能的电子设备。
至此,已经对本主题的特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作可以按照不同的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序,以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然, 在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、 快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定事务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行事务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (23)

  1. 一种音频同步播放方法,应用于第一音频播放设备,所述方法包括:
    获取所述第一音频播放设备中的蓝牙控制器的状态信息,并根据所述状态信息确定所述第一音频播放设备的本地蓝牙时间;
    基于所述第一音频播放设备的本地蓝牙时间,以及所述第一音频播放设备的本地蓝牙时间相对于第二音频播放设备的本地蓝牙时间的偏移数据,预估所述第二音频播放设备的绝对时间;或者基于所述第一音频播放设备的本地蓝牙时间,以及所述第一音频播放设备的本地蓝牙时间相对于音频提供设备的本地蓝牙时间的偏移数据,预估所述音频提供设备的绝对时间;所述第二音频播放设备与所述第一音频播放设备配对且共同蓝牙连接所述音频提供设备;
    基于预估的所述绝对时间,与所述第二音频播放设备同步播放所述音频提供设备提供的音频信号。
  2. 根据权利要求1所述的方法,其中,所述根据所述状态信息,确定所述第一音频播放设备的本地蓝牙时间,包括:
    若所述状态信息为指示所述蓝牙控制器处于工作状态的信息,则确定所述第一音频播放设备的本地蓝牙时间为从所述蓝牙控制器采样的蓝牙时间;
    若所述状态信息为指示所述蓝牙控制器处于休眠状态的信息,则基于所述第一音频播放设备的低功耗时间,及距离当前最近一次从所述蓝牙控制器采样的蓝牙时间,确定所述第一音频播放设备的本地蓝牙时间,其中,所述低功耗时间为所述蓝牙控制器处于休眠状态的时长。
  3. 根据权利要求1所述的方法,其中,所述第一音频播放设备与所述第二音频播放设备处于经典蓝牙协议的转发模式,
    所述基于所述第一音频播放设备的本地蓝牙时间,以及所述第一音频播放设备的本地蓝牙时间相对于第二音频播放设备的本地蓝牙时间的偏移数据,预估所述第二音频播放设备的绝对时间,包括:
    基于所述第一音频播放设备的本地蓝牙时间和所述第一音频播放设备的本地蓝牙时间相对于所述第二音频播放设备的本地蓝牙时间的偏移数据,预估所述第二音频播放设备的本地蓝牙时间,并确定预估的所述第二音频播放设备的本地蓝牙时间为预估的所述绝对时间。
  4. 根据权利要求3所述的方法,其中,所述基于预估的所述绝对时间,与所述第二音频播放设备同步播放所述音频提供设备提供的音频信号,包括:
    对预估的所述第二音频播放设备的本地蓝牙时间进行取模运算,以获得所 述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间;
    基于所述同步播放时间,与所述第二音频播放设备同步播放所述音频提供设备提供的所述音频信号。
  5. 根据权利要求4所述的方法,其中,所述基于所述同步播放时间,与所述第二音频播放设备同步播放所述音频提供设备提供的所述音频信号,包括:
    基于所述同步播放时间,向所述第二音频播放设备发送音频同步播放请求,所述音频同步播放请求用于使所述第二音频播放设备确定所述音频信号的开始播放时间和播放周期,并基于所述音频信号的开始播放时间和播放周期,生成发送至所述第一音频播放设备的音频同步播放响应;
    接收来自第二音频播放设备的所述音频同步播放响应中携带的所述音频信号的开始播放时间和播放周期,并生成用于同步播放所述第一音频播放设备与所述第二音频播放设备的音频信号的周期性电平信号或者周期性脉冲信号;
    基于所述周期性电平信号或者所述周期性脉冲信号,与所述第二音频播放设备同步播放所述音频提供设备提供的所述音频信号。
  6. 根据权利要求3所述的方法,其中,所述预估所述第二音频播放设备的本地蓝牙时间之前,所述方法包括:
    确定期望蓝牙数据从所述第二音频播放设备到达所述第一音频播放设备的期望到达时间;
    确定所述期望到达时间与所述期望蓝牙数据从所述第二音频播放设备到达所述第一音频播放设备的实际到达时间的差值;
    确定所述差值为所述第一音频播放设备的本地蓝牙时间相对于所述第二音频播放设备的本地蓝牙时间的偏移数据。
  7. 根据权利要求3-6中任意一项权利要求所述的方法,其中,所述第一音频播放设备为蓝牙从耳机,和/或所述第二音频播放设备为蓝牙主耳机。
  8. 根据权利要求1所述的方法,其中,所述第一音频播放设备与所述第二音频播放设备处于经典蓝牙协议的监听模式,
    所述基于所述第一音频播放设备的本地蓝牙时间,以及所述第一音频播放设备的本地蓝牙时间相对于音频提供设备的本地蓝牙时间的偏移数据,预估所述音频提供设备的绝对时间,包括:
    基于所述第一音频播放设备的本地蓝牙时间和所述第一音频播放设备的本地蓝牙时间相对于所述音频提供设备的本地蓝牙时间的偏移数据,预估所述音 频提供设备的本地蓝牙时间,并确定预估的所述音频提供设备的本地蓝牙时间为预估的所述绝对时间。
  9. 根据权利要求8所述的方法,其中,所述基于预估的所述绝对时间,与所述第二音频播放设备同步播放所述音频提供设备提供的音频信号,包括:
    对预估的所述音频提供设备的本地蓝牙时间进行取模运算,以获得所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间;
    基于所述同步播放时间,与所述第二音频播放设备同步播放所述音频提供设备提供的所述音频信号。
  10. 根据权利要求9所述的方法,其中,所述基于所述同步播放时间,与所述第二音频播放设备同步播放所述音频提供设备提供的所述音频信号,包括:
    基于所述同步播放时间,向所述第二音频播放设备发送音频同步播放请求,所述音频同步播放请求用于使所述第二音频播放设备确定所述音频信号的开始播放时间和播放周期,并基于所述音频信号的开始播放时间和播放周期,生成发送至所述第一音频播放设备的音频同步播放响应;
    接收来自第二音频播放设备的所述音频同步播放响应中携带的所述音频信号的开始播放时间和播放周期,并生成用于同步播放所述第一音频播放设备与所述第二音频播放设备的音频信号的周期性电平信号或者周期性脉冲信号;
    基于所述周期性电平信号或者所述周期性脉冲信号,与所述第二音频播放设备同步播放所述音频提供设备提供的所述音频信号。
  11. 根据权利要求8-10中任意一项权利要求所述的方法,其中,所述第一音频播放设备和所述第二音频播放设备均为蓝牙耳机,和/或所述音频提供设备为手机终端。
  12. 根据权利要求1所述的方法,其中,所述第一音频播放设备通过第一同步连接串流通信链路与所述音频提供设备蓝牙连接,并且所述第二音频播放设备通过第二同步连接串流通信链路与所述音频提供设备蓝牙连接,
    所述根据所述状态信息确定所述第一音频播放设备的本地蓝牙时间,包括:
    当所述第一同步连接串流通信链路处于第n个同步点时,基于所述第一音频播放设备中的蓝牙控制器的状态信息,确定所述第一音频播放设备的本地蓝牙时间,其中,n为等于或大于2的整数。
  13. 根据权利要求12所述的方法,其中,所述基于所述第一音频播放设备的本地蓝牙时间,以及所述第一音频播放设备的本地蓝牙时间相对于音频提 供设备的本地蓝牙时间的偏移数据,预估所述音频提供设备的绝对时间,包括:
    基于所述第一音频播放设备的第一本地蓝牙时间、所述第一音频播放设备的第二本地蓝牙时间、以及所述第一音频播放设备的本地蓝牙时间相对于所述音频提供设备的本地蓝牙时间的偏移数据,确定所述第一本地蓝牙时间相对于所述第二本地蓝牙时间的流逝时间,并确定所述流逝时间为预估的所述绝对时间,其中,所述第一本地蓝牙时间为所述第一同步连接串流通信链路处于第n个同步点时所述第一音频播放设备的本地蓝牙时间,所述第二本地蓝牙时间为所述第一同步连接串流通信链路处于第一个同步点时所述第一音频播放设备的本地蓝牙时间。
  14. 根据权利要求13所述的方法,其中,所述基于预估的所述绝对时间,与所述第二音频播放设备同步播放所述音频提供设备提供的音频信号,包括:
    若所述第二同步连接串流通信链路处于的同步点与所述第一同步连接串流通信链路处于的第n个同步点对齐,则基于所述流逝时间,确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间,并基于所述同步播放时间,与所述第二音频播放设备同步播放所述音频提供设备提供的所述音频信号。
  15. 根据权利要求14所述的方法,其中,所述基于所述流逝时间,确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间,包括:
    基于所述流逝时间和预先配置的最大音频解码时长,确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间。
  16. 根据权利要求14所述的方法,其中,所述基于所述流逝时间,确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间,包括:
    基于所述流逝时间和接收到的所述第二音频播放设备发送的第二事件计数参数,确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间,其中,所述第二事件计数参数用于对所述第二音频播放设备接入所述第二同步连接串流通信链路的同步时隙的数量进行计数。
  17. 根据权利要求16所述的方法,其中,所述基于所述流逝时间和接收到的所述第二音频播放设备发送的第二事件计数参数,确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间,包括:
    基于所述流逝时间、所述第一音频播放设备的第一事件计数参数、所述第二音频播放设备的第二事件计数参数,以及所述第一音频播放设备接入所述第一同步连接串流通信链路的同步时隙,确定所述第一音频播放设备与所述第二音频播放设备的音频信号的同步播放时间,其中,所述第一事件计数参数用于对所述第一音频播放设备接入所述第一同步连接串流通信链路的同步时隙的数量进行计数。
  18. 一种音频同步播放装置,所述装置包括:
    与蓝牙控制器通信连接的计时器,以及与所述计时器通信连接的第一音频播放模块,
    所述计时器,用于基于所述蓝牙控制器的状态信息确定所述第一音频播放模块的本地蓝牙时间,并基于所述第一音频播放模块的本地蓝牙时间,以及所述第一音频播放模块的本地蓝牙时间相对于第二音频播放模块的本地蓝牙时间的偏移数据,预估所述第二音频播放模块的绝对时间;或者用于基于所述第一音频播放模块的本地蓝牙时间,以及所述第一音频播放模块的本地蓝牙时间相对于音频提供设备的本地蓝牙时间的偏移数据,预估所述音频提供设备的绝对时间;所述第一音频播放模块与所述第二音频播放模块共同蓝牙连接所述音频提供设备;
    所述第一音频播放模块,用于基于预估的所述绝对时间,与所述第二音频播放模块同步播放所述音频提供设备提供的音频信号。
  19. 根据权利要求18所述的装置,其中,所述装置还包括与所述计时器通信连接的所述蓝牙控制器。
  20. 一种音频同步播放装置,所述装置包括:
    与蓝牙控制器通信连接的计时器,以及与所述计时器通信连接的第一音频播放模块,
    所述计时器,用于基于所述蓝牙控制器的状态信息确定所述第一音频播放模块的本地蓝牙时间,并基于所述第一音频播放模块的本地蓝牙时间,以及所述第一音频播放模块的本地蓝牙时间相对于第二音频播放模块的本地蓝牙时间的偏移数据,预估所述第二音频播放模块的绝对时间;或者用于基于所述第一音频播放模块的本地蓝牙时间,以及所述第一音频播放模块的本地蓝牙时间相对于音频提供设备的本地蓝牙时间的偏移数据,预估所述音频提供设备的绝对时间,再基于预估的所述绝对时间,生成音频播放同步信号,所述第一音频播 放模块与所述第二音频播放模块共同蓝牙连接所述音频提供设备;
    所述第一音频播放模块,用于基于所述音频播放同步信号,与所述第二音频播放模块同步播放所述音频提供设备提供的音频信号。
  21. 根据权利要求20所述的装置,其中,所述装置还包括与所述计时器通信连接的所述蓝牙控制器。
  22. 一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1至17中任意一项权利要求所述的音频同步播放方法。
  23. 一种电子设备,所述电子设备包括上述权利要求18或20所述的音频同步播放装置。
PCT/CN2020/126675 2020-11-05 2020-11-05 音频同步播放方法、装置、设备及存储介质 Ceased WO2022094835A1 (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020217006793A KR102523889B1 (ko) 2020-11-05 2020-11-05 오디오 동시 재생 방법, 장치, 및 설비
EP20855850.2A EP4024894A1 (en) 2020-11-05 2020-11-05 Audio synchronization playback method, apparatus, device, and storage medium
PCT/CN2020/126675 WO2022094835A1 (zh) 2020-11-05 2020-11-05 音频同步播放方法、装置、设备及存储介质
US17/184,391 US11240586B1 (en) 2020-11-05 2021-02-24 Method, apparatus and device for synchronously playing audio
US17/548,029 US11632617B2 (en) 2020-11-05 2021-12-10 Method, apparatus and device for synchronously playing audio

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/126675 WO2022094835A1 (zh) 2020-11-05 2020-11-05 音频同步播放方法、装置、设备及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/184,391 Continuation US11240586B1 (en) 2020-11-05 2021-02-24 Method, apparatus and device for synchronously playing audio

Publications (1)

Publication Number Publication Date
WO2022094835A1 true WO2022094835A1 (zh) 2022-05-12

Family

ID=80034592

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/126675 Ceased WO2022094835A1 (zh) 2020-11-05 2020-11-05 音频同步播放方法、装置、设备及存储介质

Country Status (4)

Country Link
US (2) US11240586B1 (zh)
EP (1) EP4024894A1 (zh)
KR (1) KR102523889B1 (zh)
WO (1) WO2022094835A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112437369B (zh) * 2020-07-27 2022-03-29 珠海市杰理科技股份有限公司 音频数据的传输方法、系统、tws耳机对、芯片及介质
US11916988B2 (en) * 2020-09-28 2024-02-27 Bose Corporation Methods and systems for managing simultaneous data streams from multiple sources
EP4300994B1 (en) * 2021-04-30 2025-11-05 Samsung Electronics Co., Ltd. Method and electronic device for recording audio data acquired from plurality of devices
EP4383768B1 (en) * 2021-09-08 2025-12-10 Samsung Electronics Co., Ltd. Electronic device, method, and computer readable storage medium for managing transmission to external electronic device within wireless environment
TWI805215B (zh) * 2022-02-09 2023-06-11 美律實業股份有限公司 真無線耳機系統及耳機同步方法
CN115103431B (zh) * 2022-03-25 2024-09-06 恒玄科技(上海)股份有限公司 一种实现蓝牙耳机设备同步播放的方法及其蓝牙耳机设备
CN115175159B (zh) * 2022-09-06 2023-01-13 荣耀终端有限公司 一种蓝牙耳机播放方法及设备
CN115175065B (zh) * 2022-09-06 2023-01-17 荣耀终端有限公司 广播方法、tws耳机及存储介质
US20240089715A1 (en) * 2022-09-08 2024-03-14 Intel Corporation Bluetooth report events for ultra low latency
EP4586737A4 (en) * 2022-10-21 2025-11-12 Samsung Electronics Co Ltd ELECTRONIC DEVICE FOR COMMUNICATION VIA BLUETOOTH CONNECTION AND ITS OPERATING METHOD
CN121080000A (zh) * 2023-04-26 2025-12-05 三星电子株式会社 音频输出方法和执行该方法的电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105047209A (zh) * 2015-08-13 2015-11-11 珠海市杰理科技有限公司 蓝牙音频播放同步的方法、装置及蓝牙音频播放装置
CN105611381A (zh) * 2015-12-29 2016-05-25 深圳市民展科技开发有限公司 一种基于无线网络的多设备音频同步播放系统及方法
CN106373600A (zh) * 2016-10-08 2017-02-01 广东欧珀移动通信有限公司 一种音频同步播放方法、装置、系统及终端
CN107181506A (zh) * 2017-04-13 2017-09-19 深圳市金立通信设备有限公司 一种控制终端播放资源的方法及蓝牙耳机
CN107454510A (zh) * 2017-07-10 2017-12-08 珠海市杰理科技股份有限公司 蓝牙对箱的音频同步播放方法、系统
EP3644661A1 (en) * 2018-10-26 2020-04-29 Tap Sound System A synchronization method for synchronizing clocks of a bluetooth device
CN111817811A (zh) * 2020-06-22 2020-10-23 芯原微电子(上海)股份有限公司 Tws耳机音频同步播放方法及系统、tws耳机

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1483929B1 (en) * 2002-03-13 2006-08-16 Nokia Corporation Method and apparatus for performing handover in a bluetooth radio communication system
US7768234B2 (en) * 2004-02-28 2010-08-03 Janik Craig M System and method for automatically synchronizing and acquiring content for battery powered devices
TWI360309B (en) 2008-06-25 2012-03-11 Ind Tech Res Inst Transmission method and transmission system
CN202772917U (zh) 2011-04-22 2013-03-06 喜讯无限(北京)科技有限责任公司 基于无线传输技术的多媒体文件分体式多声道同步播放实现系统
US20130059592A1 (en) * 2011-09-01 2013-03-07 Qualcomm Incorporated Femtocell timing synchronization using mobile device messaging
US9301268B2 (en) * 2013-11-08 2016-03-29 Nokia Technologies Oy Device synchronization
US9313591B2 (en) 2014-01-27 2016-04-12 Sonos, Inc. Audio synchronization among playback devices using offset information
TWI556656B (zh) * 2014-04-30 2016-11-01 微晶片科技公司 具有藍牙功能之音訊播放裝置及音訊播放方法
CN104320843B (zh) 2014-10-08 2020-07-24 络达科技股份有限公司 蓝牙发声装置的音频同步方法
US9671998B2 (en) * 2014-12-31 2017-06-06 Qualcomm Incorporated Synchronised control
CN106559734B (zh) 2015-09-28 2020-03-20 展讯通信(上海)有限公司 蓝牙数据传输方法及装置
US10742733B2 (en) * 2015-10-12 2020-08-11 Timecode Systems Limited Synchronizing data between media devices
CN107333339B (zh) 2017-05-16 2020-09-01 恒玄科技(上海)股份有限公司 一种双无线耳机之间的音频数据传输方法及双无线耳机
CN108111997B (zh) 2017-12-15 2020-12-08 珠海市杰理科技股份有限公司 蓝牙设备音频同步方法和系统
CN108108146A (zh) 2018-01-19 2018-06-01 深圳市沃特沃德股份有限公司 多个播放设备同步播放的方法与播放设备
US10863494B2 (en) * 2018-01-22 2020-12-08 Apple Inc. Control signaling for uplink multiple input multiple output, channel state information reference signal configuration and sounding reference signal configuration
CN108200495A (zh) 2018-01-23 2018-06-22 恒玄科技(上海)有限公司 一种实现蓝牙耳机同步播放的方法
CN108337595B (zh) 2018-06-19 2018-09-11 恒玄科技(上海)有限公司 蓝牙耳机实现精准同步播放的方法
CN108415685B (zh) 2018-07-12 2018-12-14 恒玄科技(上海)有限公司 无线蓝牙耳机实现精准同步播放的方法
US11277956B2 (en) * 2018-07-26 2022-03-22 Bear Flag Robotics, Inc. Vehicle controllers for agricultural and industrial applications
US20200059504A1 (en) * 2018-08-19 2020-02-20 Pixart Imaging Inc. Schemes capable of synchronizing native clocks and audio codec clocks of audio playing for bluetooth wireless devices
US11184858B2 (en) * 2018-09-18 2021-11-23 PB, Inc. Bluecell devices and methods
CN109565772A (zh) 2018-10-31 2019-04-02 深圳市汇顶科技股份有限公司 时间同步方法、设备及存储介质
US12245179B2 (en) 2018-12-07 2025-03-04 Huawei Technologies Co., Ltd. Point-to-multipoint data transmission method and electronic device
EP3675444A1 (en) * 2018-12-28 2020-07-01 INTEL Corporation Methods and devices for communications in device-to-device networks
CN110267305B (zh) 2019-06-13 2022-12-20 重庆物奇科技有限公司 一种无线数据重传方法
CN111405336B (zh) 2019-08-09 2021-01-19 合肥炬芯智能科技有限公司 多设备的同步播放方法及系统、电子设备、存储介质
CN110636600B (zh) 2019-08-20 2022-01-18 恒玄科技(上海)股份有限公司 一种无线设备音频同步播放的方法
CN112953600B (zh) 2021-02-07 2022-09-23 炬芯科技股份有限公司 一种蓝牙系统及其通信方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105047209A (zh) * 2015-08-13 2015-11-11 珠海市杰理科技有限公司 蓝牙音频播放同步的方法、装置及蓝牙音频播放装置
CN105611381A (zh) * 2015-12-29 2016-05-25 深圳市民展科技开发有限公司 一种基于无线网络的多设备音频同步播放系统及方法
CN106373600A (zh) * 2016-10-08 2017-02-01 广东欧珀移动通信有限公司 一种音频同步播放方法、装置、系统及终端
CN107181506A (zh) * 2017-04-13 2017-09-19 深圳市金立通信设备有限公司 一种控制终端播放资源的方法及蓝牙耳机
CN107454510A (zh) * 2017-07-10 2017-12-08 珠海市杰理科技股份有限公司 蓝牙对箱的音频同步播放方法、系统
EP3644661A1 (en) * 2018-10-26 2020-04-29 Tap Sound System A synchronization method for synchronizing clocks of a bluetooth device
CN111817811A (zh) * 2020-06-22 2020-10-23 芯原微电子(上海)股份有限公司 Tws耳机音频同步播放方法及系统、tws耳机

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4024894A4 *

Also Published As

Publication number Publication date
US11632617B2 (en) 2023-04-18
US20220141568A1 (en) 2022-05-05
EP4024894A4 (en) 2022-07-06
KR102523889B1 (ko) 2023-04-19
KR20220062446A (ko) 2022-05-17
US11240586B1 (en) 2022-02-01
EP4024894A1 (en) 2022-07-06

Similar Documents

Publication Publication Date Title
WO2022094835A1 (zh) 音频同步播放方法、装置、设备及存储介质
CN112039623A (zh) 音频同步播放方法、装置、设备及存储介质
JP7342097B2 (ja) 複数のオーディオ機器の同期
CN111817811B (zh) Tws耳机音频同步播放方法及系统、tws耳机
CN105812902B (zh) 数据播放的方法、设备及系统
US9798515B1 (en) Clock synchronization for audio playback devices
JP5703416B2 (ja) パーソナルエリアネットワーク(pan)のワイヤレス技術を使用したマルチキャストを実装するためのシステムおよび方法
TWI556656B (zh) 具有藍牙功能之音訊播放裝置及音訊播放方法
CN103905881B (zh) 一种视频数据和音频数据同步播放的方法、装置和设备
US10805664B2 (en) Wireless audio synchronization
CN112040539B (zh) 时钟同步方法、装置及存储介质
CN103905876A (zh) 一种视频数据和音频数据同步播放的方法、装置和设备
CN103905878A (zh) 一种视频数据和音频数据同步播放的方法、装置和设备
CN103905879A (zh) 一种视频数据和音频数据同步播放的方法、装置和设备
US10477333B1 (en) Audio placement algorithm for determining playback delay
CN104243133B (zh) 一种同步方法及装置
CN112634884A (zh) 控制输出音频的方法、输出音频的方法、装置、电子设备、和计算机可读存储介质
JP2017538242A (ja) 無線データ伝送を用いたオーディオの同期記録
TW202401201A (zh) 電子裝置以及電腦系統
CN115604810A (zh) 无线音频设备同步播放方法、系统及存储介质
US12620377B2 (en) Wireless midi headset
US20210125594A1 (en) Wireless midi headset
CN113613125A (zh) 音频同步控制方法、装置及音频设备、系统
CN116321093A (zh) 音频播放方法、系统、电子设备及存储介质

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 202147009808

Country of ref document: IN

ENP Entry into the national phase

Ref document number: 2020855850

Country of ref document: EP

Effective date: 20210304

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 202147009808

Country of ref document: IN