CN115586883A - Audio service implementation method and device, electronic equipment and readable medium - Google Patents

Audio service implementation method and device, electronic equipment and readable medium Download PDF

Info

Publication number
CN115586883A
CN115586883A CN202211305898.4A CN202211305898A CN115586883A CN 115586883 A CN115586883 A CN 115586883A CN 202211305898 A CN202211305898 A CN 202211305898A CN 115586883 A CN115586883 A CN 115586883A
Authority
CN
China
Prior art keywords
audio
equipment
audio equipment
priority
resource
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.)
Pending
Application number
CN202211305898.4A
Other languages
Chinese (zh)
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.)
Nfs China Software Co ltd
Original Assignee
Nfs China Software 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 Nfs China Software Co ltd filed Critical Nfs China Software Co ltd
Priority to CN202211305898.4A priority Critical patent/CN115586883A/en
Publication of CN115586883A publication Critical patent/CN115586883A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

The application provides an audio service implementation method, an audio service implementation device, electronic equipment and a readable medium, wherein the audio service implementation method comprises the following steps: when audio resources need to be provided for the terminal equipment, the pulse audio service determines target audio equipment according to the priority of at least one audio equipment in a resource playing sequence list, wherein the resource playing sequence list comprises audio equipment identifiers and corresponding priority information, and the audio equipment identifiers comprise equipment information and port information; the impulse audio service provides audio resources based on the target audio device. Through the embodiment of the disclosure, the dynamic switching of the audio frequency among the multi-audio-frequency equipment is realized, and the response efficiency and reliability of the pulse audio frequency service are improved.

Description

Audio service implementation method and device, electronic equipment and readable medium
Technical Field
The present disclosure relates to the field of audio technologies, and in particular, to an audio service implementation method and apparatus, an electronic device, and a readable medium.
Background
Currently, pulseAudio is a service implemented on the basis of an audio server that receives audio input from one or more audio sources (including processes or input devices) through a background process and then redirects the audio input to one or more slots, such as a sound card, remote network PulseAudio service, or other processes.
In the related art, one purpose of PulseAudio, which provides audio resources to different sound systems by providing adapters, is to direct all sound streams, including processes attempting to access the hardware.
However, without manual operation, the PulseAudio cannot realize dynamic switching (including a sequence after restart) between different audio devices, such as multiple USB (Universal Serial Bus) headsets, multiple DP (display Interface) external HDMI (High Definition Multimedia Interface) displays, and the like.
It should be noted that the information disclosed in the above background section is only configured to enhance understanding of the background of the present disclosure, and thus may include information that does not constitute prior art that is known to a person of ordinary skill in the art.
Disclosure of Invention
An object of the present disclosure is to provide an audio service implementation method, apparatus, electronic device, and readable medium configured to overcome, at least to some extent, the problem of poor reliability of PulseAudio service provision due to the limitations and disadvantages of the related art.
According to a first aspect of an embodiment of the present disclosure, there is provided an audio service implementation method, including: when audio resources need to be provided for the terminal equipment, the pulse audio service determines target audio equipment according to the priority of at least one audio equipment in a resource playing sequence list, wherein the resource playing sequence list comprises an audio equipment identifier and corresponding priority information, and the audio equipment identifier comprises equipment information and port information; the impulse audio service provides audio resources based on the target audio device.
In an exemplary embodiment of the present disclosure, further comprising: when the pulse audio service is initialized, the pulse audio service loads a resource playing sequence table, and updates the priority information of the audio equipment identifier corresponding to the audio equipment in the resource playing sequence table according to the access sequence of at least one audio equipment; the access sequence of the audio equipment is the sequence of at least one audio equipment accessing the terminal equipment; and the pulse audio service sets the priority information of the audio equipment identifier corresponding to the audio equipment which is not accessed to the terminal equipment in the resource playing sequence list as the lowest priority.
In an exemplary embodiment of the present disclosure, updating the priority information of the audio device identifier corresponding to the audio device in the resource play sequence table according to the access sequence of the at least one audio device includes: when audio equipment which does not belong to the resource playing sequence list exists in the audio equipment of the access terminal equipment, the pulse audio service adds the audio equipment identification corresponding to the audio equipment into the resource playing sequence list, and sets corresponding priority information for the audio equipment identification corresponding to the audio equipment.
In an exemplary embodiment of the present disclosure, further comprising: updating the priority information of the audio equipment identifier corresponding to the audio equipment in the resource playing sequence table according to the access sequence of at least one audio equipment, wherein the priority information comprises the following steps: responding to a hot plug event of the audio equipment, and determining newly-accessed audio equipment or newly-pulled audio equipment corresponding to the hot plug event; if the audio equipment is newly accessed, the pulse audio service judges whether the audio equipment identifier of the newly accessed audio equipment belongs to the resource playing sequence list, and if so, the priority of the audio equipment identifier corresponding to the newly accessed audio equipment in the resource playing sequence list is set as the highest priority; if not, writing the equipment identifier corresponding to the newly accessed audio equipment into the resource playing sequence list, and setting the priority of the equipment identifier corresponding to the newly accessed audio equipment in the resource playing sequence list as the highest priority; if the audio equipment is newly pulled out, the pulse audio service sets the priority of the audio equipment identifier of the newly pulled out audio equipment in the resource playing sequence list as the lowest priority.
In an exemplary embodiment of the present disclosure, the pulsed audio service sets the priority of the audio device identifier corresponding to the audio device that does not support hot plug in the resource play order list as a preset priority, and performs static detection on the audio device that does not support hot plug; updating the priority information of the audio equipment identifier corresponding to the audio equipment in the resource playing sequence table according to the access sequence of at least one audio equipment, wherein the priority information comprises the following steps: responding to a hot plug event of a first audio device except the audio device which does not support hot plug, and determining a newly-accessed first audio device or a newly-pulled first audio device corresponding to the hot plug event; if the first audio equipment is newly accessed, the pulse audio service sets the priority of the audio equipment identifier corresponding to the first audio equipment in the resource playing sequence list to be higher than the priority of the audio equipment which does not support hot plug in the resource playing sequence list; if the first audio equipment is newly pulled out, the pulse audio service sets the priority level of the audio equipment identification corresponding to the first audio equipment in the resource playing sequence list to be not higher than the priority level of the audio equipment which does not support hot plug in the resource playing sequence list.
In an exemplary embodiment of the present disclosure, further comprising: the resource playing sequence list may further include an available state of the audio device, where the available state indicates whether priority information corresponding to the identifier of the audio device is valid; updating the priority information of the audio equipment identifier corresponding to the audio equipment in the resource playing sequence table according to the access sequence of at least one audio equipment, wherein the priority information comprises the following steps: updating the priority information and the available state of the audio equipment identifier corresponding to the audio equipment in the resource playing sequence list according to the access sequence of at least one audio equipment; the available status is available or unavailable.
In an exemplary embodiment of the present disclosure, the resource play order table further includes an available status of the audio device, and the determining, by the pulsed audio service, the target audio device according to the priority of the audio device in the resource play order table includes: the method for determining the target audio equipment by the pulse audio service according to the priority and the available state of the audio equipment in the resource play sequence list and according to the priority of at least one audio equipment in the resource play sequence list comprises the following steps: determining whether priority information corresponding to the audio equipment identification is valid according to the available state corresponding to each audio equipment identification in the resource playing sequence list; the priority information corresponding to the available audio equipment identification is valid in the available state, and the priority information corresponding to the unavailable audio equipment identification is invalid in the available state; a target audio device is determined from the at least one audio device based on the valid priority information.
In an exemplary embodiment of the present disclosure, further comprising: initializing a pulsed audio service, comprising: initializing a pulse audio service, and loading a resource playing sequence table; scanning the port state of the terminal equipment, and determining the initial access state of the audio equipment corresponding to each audio equipment identifier in the resource playing sequence list; the initial access state is accessed or not accessed; writing the available state of the audio equipment identifier corresponding to the audio equipment with the initial access state being accessed in the resource playing sequence list as available; and writing the available state of the audio equipment identifier corresponding to the audio equipment with the initial access state being the unaccessed audio equipment in the resource playing sequence list as unavailable.
In an exemplary embodiment of the present disclosure, updating the priority information and the available status of the audio device identifier corresponding to the audio device in the resource play order table according to the access order of at least one audio device includes: responding to a hot plug event of the audio equipment, and determining newly-accessed audio equipment or newly-pulled audio equipment corresponding to the hot plug event; if the audio equipment is newly accessed, judging whether the audio equipment identification of the newly accessed audio equipment belongs to the resource playing sequence list, if so, setting the priority information corresponding to the audio equipment identification of the newly accessed audio equipment in the resource playing sequence list as the highest priority, and updating the corresponding available state to be available; if not, writing the audio equipment identification of the newly accessed audio equipment into the resource playing sequence list, setting the priority information of the audio equipment identification of the newly accessed audio equipment in the resource playing sequence list as the highest priority, and writing the corresponding available state as available; if the audio equipment is newly pulled out, the priority of the audio equipment identification of the newly pulled out audio equipment in the resource playing sequence list is set as the lowest priority, and the corresponding available state is updated to be unavailable.
In an exemplary embodiment of the present disclosure, the pulsed audio service sets priority information of an audio device identifier corresponding to an audio device that does not support hot plugging in a resource play order list to a preset priority, and sets a corresponding available state to be available; carrying out static detection on the audio equipment which does not support hot plug; updating the priority information and the available state of the audio equipment identifier corresponding to the audio equipment in the resource playing sequence table according to the access sequence of at least one audio equipment, wherein the priority information and the available state comprise: responding to a hot plug event of a second audio device except the audio device which does not support hot plug, and determining a newly-accessed second audio device or a newly-pulled second audio device corresponding to the hot plug event; if the second audio equipment is newly accessed, the pulse audio service sets the priority of the audio equipment identifier corresponding to the second audio equipment in the resource playing sequence list to be higher than the priority of the audio equipment identifier which does not support hot plug in the resource playing sequence list, and sets the available state of the audio equipment identifier corresponding to the second audio equipment to be available; if the second audio equipment is newly pulled out, the pulse audio service sets the priority level of the audio equipment identifier corresponding to the second audio equipment in the resource playing sequence list to be not higher than the priority level of the audio equipment identifier which does not support hot plugging in the resource playing sequence list, and sets the available state of the audio equipment identifier corresponding to the second audio equipment to be unavailable.
According to a second aspect of the embodiments of the present disclosure, there is provided an audio service implementing apparatus, including: the determining module is configured to determine a target audio device according to the priority of the audio device in a resource playing sequence list by using the pulse audio service when the audio resource needs to be provided, wherein the resource playing sequence list comprises an audio device identifier and corresponding priority information, and the audio device identifier comprises device information and port information; a control module configured to pulse the audio service to provide the audio resource based on the target audio device.
According to a third aspect of the present disclosure, there is provided an electronic device comprising: a memory; and a processor coupled to the memory, the processor configured to perform a method as in any above based on instructions stored in the memory.
According to a fourth aspect of the present disclosure, there is provided a computer-readable storage medium, on which a program is stored, the program, when executed by a processor, implementing an audio service implementation method as in any one of the above.
According to the embodiment of the disclosure, when audio resources need to be provided, the pulse audio service determines the target audio device according to the priority of the audio device in the resource playing sequence list, the resource playing sequence list comprises the audio device identifier and the corresponding priority information, and the audio device identifier comprises the device information and the port information, that is, the PulseAudio can distinguish the accessed port through the audio device identifier.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, are configured to explain the principles of the disclosure. It is to be understood that the drawings in the following description are merely exemplary of the disclosure, and that other drawings may be derived from those drawings by one of ordinary skill in the art without the exercise of inventive faculty.
FIG. 1 shows a schematic diagram of an exemplary system architecture for an audio service implementation to which embodiments of the present invention are applied;
FIG. 2 is a flow chart of an audio service implementation method in an exemplary embodiment of the present disclosure;
FIG. 3 is a flow chart of another audio service implementation method in an exemplary embodiment of the present disclosure;
FIG. 4 is a schematic diagram of an application scenario of an audio service implementation method in an exemplary embodiment of the present disclosure;
FIG. 5 is a schematic diagram of an application scenario of another audio service implementation method in an exemplary embodiment of the present disclosure;
FIG. 6 is a schematic diagram of an application scenario of another audio service implementation method in an exemplary embodiment of the present disclosure;
fig. 7 is a schematic diagram of an application scenario of another audio service implementation method in an exemplary embodiment of the present disclosure;
FIG. 8 is a flow chart of another audio service implementation in an exemplary embodiment of the disclosure;
FIG. 9 is an architectural diagram of another audio service implementation in an exemplary embodiment of the present disclosure;
fig. 10 is a block diagram of an audio service implementing apparatus in an exemplary embodiment of the present disclosure;
fig. 11 is a block diagram of an electronic device in an exemplary embodiment of the disclosure.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the disclosure. One skilled in the relevant art will recognize, however, that the subject matter of the present disclosure can be practiced without one or more of the specific details, or with other methods, components, devices, steps, and the like. In other instances, well-known technical solutions have not been shown or described in detail to avoid obscuring aspects of the present disclosure.
Further, the drawings are merely schematic illustrations of the present disclosure, in which the same reference numerals denote the same or similar parts, and thus, a repetitive description thereof will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
Fig. 1 shows a schematic diagram of an exemplary system architecture to which an audio service implementation of an embodiment of the invention may be applied.
As shown in fig. 1, the system architecture 100 may include one or more of terminal devices 101, 102, 103, a network 104, and a server 105. The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation. For example, server 105 may be a server cluster comprised of multiple servers, and the like.
The user may use the terminal devices 101, 102, 103 to interact with the server 105 via the network 104 to receive or send messages or the like. The terminal devices 101, 102, 103 may be various electronic devices having a display screen, including but not limited to smart phones, tablet computers, portable computers, desktop computers, and the like.
In some embodiments, the audio service implementation method provided by the embodiment of the present invention is generally executed by the server 105, and accordingly, the audio service implementation apparatus is generally disposed in the terminal device 103 (which may also be the terminal device 101 or 102). In other embodiments, some terminals may have similar functionality as the server device to perform the method.
The conventional audio technology PulseAudio does not support repeated plugging and unplugging of a plurality of earphone devices and sequential memory output and input functions, so that the PulseAudio has a plurality of technical defects, which are specifically as follows:
(1) The sink/source device of the sequence data table does not distinguish ports;
(2) When the sequence data table records each audio device, the priority level is reversed;
(3) When the sequence data table is read and written, the sink/source priority is not updated in real time when the earphone and the HDMI/DP equipment are accessed;
(4) The sequence data table does not identify whether the sink/source is in an available state or not, so that the audio of the player stays on unavailable audio equipment;
(5) The loudspeaker and the round hole earphone on the notebook are mutually exclusive in hardware;
(6) When the system is restarted or is logged off, the audio input and output devices cannot be memorized in sequence, and the existing devices are not cleaned and checked;
(7) The sequential data table is not maintained and updated in time.
Embodiments of the present disclosure can solve the above technical drawbacks, and the following detailed description is made of exemplary embodiments of the present disclosure with reference to the accompanying drawings.
Fig. 2 is a flowchart of an audio service implementation method provided in an exemplary embodiment of the present disclosure. Referring to fig. 2, the audio service implementing method may include the steps of:
step S202, when audio resources need to be provided, the pulse audio service determines target audio equipment according to the priority of the audio equipment in the resource playing sequence list, wherein the resource playing sequence list comprises an audio equipment identifier and corresponding priority information, and the audio equipment identifier comprises equipment information and port information.
In the embodiment of the present application, the impulse audio service is a background audio service of the terminal, and the device information is an identifier of an audio device accessing the terminal, for example, an audio device receiving an audio resource from the terminal may be denoted as sink1, sink2, \8230 \ 8230;, sink n, and an audio device transmitting an audio resource to the terminal may be denoted as source1, source2, \8230; \8230, source n, n is a positive integer.
Further, port information is determined based on the port to which the audio device is accessed, and the port information is recorded as a port. The audio device identification includes device information and port information, which may be generally denoted as sink + port or source + port. Based on the method, the devices are distinguished, and the access port is identified. Furthermore, the audio equipment identification and the priority information corresponding to each audio equipment identification are stored in the resource playing sequence table, and one of the plurality of audio equipment of the access terminal equipment is determined to be the target audio equipment based on the priority information, so that the efficiency and the reliability of determining the priority of the audio equipment of the access terminal are improved.
In step S204, the impulse audio service provides audio resources based on the target audio device.
In the embodiment of the application, when the pulse audio service needs to provide audio resources, priority information corresponding to each audio device identifier is determined by querying a resource play sequence table, a target audio device is determined from at least one audio device based on the priority information, and the target audio device performs audio resource interaction with the pulse audio service based on a port included in the audio device identifier.
Furthermore, the pulse audio service provides audio resources based on the target audio equipment, and when the priority information of the audio equipment changes, the target audio equipment also changes correspondingly, so that dynamic switching among a plurality of audio equipment accessed to the terminal equipment can be realized, and the response efficiency and reliability of the pulse audio service are improved.
Hereinafter, each step of the audio service implementation method will be described in detail.
In an exemplary embodiment disclosed in the present application, before performing step S202 shown in fig. 2, a relevant initialization step may be performed, which specifically includes the following steps: when the pulse audio service is initialized, the pulse audio service loads a resource playing sequence table, and updates the priority information of the audio equipment identifier corresponding to the audio equipment in the resource playing sequence table according to the access sequence of at least one audio equipment; the impulse audio service sets the priority of the audio equipment identifier corresponding to the audio equipment which is not accessed in the resource playing sequence list as the lowest priority. The access order of the audio devices refers to an order in which at least one audio device accesses the terminal device.
In the above embodiment, the resource play sequence table may be stored in the terminal side or the server side, and in order to improve the efficiency of dynamic switching of the audio device, one resource play sequence table may be set to correspond to one terminal device. When an audio resource is provided for a terminal device, the table look-up rate and reliability can be improved by inquiring the resource play sequence table corresponding to the terminal device.
Specifically, when the pulsed audio service is initialized, the resource playing sequence table loaded by the pulsed audio service is preset with an audio device identifier and priority information; after the terminal equipment finishes the audio drive loading, carrying out initialization scanning on an audio port of the terminal equipment, determining at least one audio equipment accessed to the terminal equipment, and determining priority information of audio equipment identifications corresponding to all the audio equipment accessed to the terminal equipment in a resource playing sequence list; and determining the playing priority of all the audio equipment which has access to the terminal equipment based on the priority information, and determining target audio equipment according to the playing priority, wherein the target audio equipment refers to the audio equipment which has the highest playing priority and has access to the terminal equipment and the corresponding audio equipment identifier. Meanwhile, the priority of the audio equipment identifier corresponding to the audio equipment which is not accessed to the terminal equipment and is included in the resource playing sequence list is set as the lowest priority, so that the audio resources provided by the impulse audio service can not be switched to the audio equipment which is not accessed and is corresponding to the lowest priority.
In an exemplary embodiment disclosed in the present application, the priority information corresponding to each audio device may be set from low to high according to the access sequence of the audio devices of the access terminal device from first to last, that is, the priority of the audio device accessed last is the highest, the priority of the audio device accessed earlier is the lower, and the priority of the audio device not accessed is the lowest. The pulse audio service determines the playing priority of all the audio equipment which has access to the terminal equipment based on the priority information in the resource playing sequence list which is updated instantly, and provides the audio resource for the audio equipment with the highest playing priority all the time.
Alternatively, the priority information of the lowest priority audio device in the resource play order list may be recorded as "0" or null.
Further, in this embodiment of the present application, the updating, by the pulsed audio service, the priority information in the resource play order list according to the access order of the at least one audio device may further include: when the audio equipment which does not belong to the resource playing sequence list exists in the audio equipment of the access terminal equipment, the pulse audio service adds the audio equipment identification corresponding to the audio equipment into the resource playing sequence list, and sets corresponding priority information for the audio equipment identification corresponding to the audio equipment.
In an exemplary embodiment disclosed in the present application, when a scanning port determines that an audio device of an access terminal device is accessed, if an unknown audio device exists, that is, it is determined that an audio device identifier of the unknown audio device does not belong to a resource play sequence table, a pulse audio service adds the audio device identifier of the audio device to the resource play sequence table, and sets corresponding priority information for the audio device identifier corresponding to the audio device, thereby implementing timely updating of the priority information in the resource play sequence table. Based on the embodiment of the application, the completeness of the resource playing sequence list is improved, the audio equipment newly recorded in the resource playing sequence list also supports the realization of dynamic switching under a PulseAudio scene, and the fluency of audio resource playing and the response efficiency of dynamically switching the audio resources are further improved.
Further, for a terminal device provided with a port supporting hot plug, a hot plug event is generated when the audio device is plugged in or unplugged from the port supporting hot plug. Based on this, the embodiment of the present application provides a technical solution, which may update the priority information of each audio device connected to the terminal device in time when a hot plug event occurs in the terminal device, and after each hot plug event occurs, may determine, in time and based on the updated priority information in the resource play sequence table, that the audio device with the highest priority is the target audio device, and perform audio resource interaction with the target audio device.
Based on this, for an audio device supporting hot plug, in response to a hot plug event of the audio device, the pulsed audio service updating the priority information of the audio device in the resource play sequence table may specifically include the following steps A2 to A6:
step A2: responding to a hot plug event of the audio equipment, and determining newly-accessed audio equipment or newly-pulled audio equipment corresponding to the hot plug event;
step A4: if the audio equipment is newly accessed, the pulse audio service judges whether the audio equipment identifier of the newly accessed audio equipment belongs to the resource playing sequence list, and if so, the priority of the audio equipment identifier corresponding to the newly accessed audio equipment in the resource playing sequence list is set as the highest priority; if not, writing the equipment identification corresponding to the newly accessed audio equipment into the resource playing sequence table, and setting the priority of the equipment identification corresponding to the newly accessed audio equipment in the resource playing sequence table as the highest priority.
In this embodiment, the pulsed audio service may set the priority of the audio device of the hot plug port of the new access terminal device to the highest priority in time, and switch to the audio device corresponding to the highest priority for audio resource interaction while updating the resource play sequence table.
Step A6: if the audio equipment is newly pulled out, the impulse audio service sets the priority of the audio equipment identification of the newly pulled out audio equipment in the resource playing sequence list as the lowest priority.
In the above embodiment, the pulse audio service may set the priority of the audio device pulled out from the hot plug port of the terminal device as the lowest priority in time, update the resource play sequence table in time, and the audio device with the lowest priority does not perform interaction with the audio resource.
Further, for an audio device that does not support hot plug, the embodiment of the present application also provides a technical solution to update priority information of an audio device in a resource play order table, which may specifically include that the pulse audio service sets a priority of an identifier of the audio device corresponding to the audio device that does not support hot plug in the resource play order table as a preset priority, and performs static detection on the audio device that does not support hot plug.
It should be noted that, in the embodiment of the present application, when audio devices connected to a terminal device only include audio devices that do not support hot plug, the audio devices that do not support hot plug are taken as target audio devices, and audio resources are interacted through the audio devices that do not support hot plug; when the audio devices connected to the terminal device include other audio devices (for example, audio devices supporting hot plug) in addition to the audio devices not supporting hot plug, the target audio device is determined according to the priority information of the audio devices in the resource play order list, as in the foregoing method.
For audio equipment which does not support hot plug, updating priority information of an audio equipment identifier corresponding to the audio equipment in a resource playing sequence table according to the access sequence of at least one audio equipment, wherein the priority information comprises the following steps B2-B6:
and step B2: and responding to the hot plug event of the first audio equipment except the audio equipment which does not support hot plug, and determining the newly connected first audio equipment or the newly pulled first audio equipment corresponding to the hot plug event.
And step B4: if the first audio equipment is newly connected, the pulse audio service sets the priority of the audio equipment identifier corresponding to the first audio equipment in the resource playing sequence list to be higher than the priority of the audio equipment which does not support hot plug in the resource playing sequence list.
Step B6: if the first audio equipment is newly pulled out, the pulse audio service sets the priority level of the audio equipment identifier corresponding to the first audio equipment in the resource playing sequence list to be not higher than the priority level of the audio equipment which does not support hot plug in the resource playing sequence list.
Further, in this embodiment of the present application, the resource play order table may further include an available state of the audio device, where the available state is configured to indicate whether priority information corresponding to the audio device identifier is valid. For example, if a certain audio device identifier has a corresponding priority level of the highest priority level, but the corresponding availability status is unavailable, it indicates that the current priority level information of the audio device corresponding to the audio device identifier is invalid, and therefore, even if the priority level information of the audio device is the highest priority level, the audio device is not selected as the target audio device.
Fig. 3 is a flowchart of an audio service implementation method provided in an exemplary embodiment of the present disclosure. Referring to fig. 3, the audio service implementing method may include the steps of:
step S302, when audio resources need to be provided, the pulse audio service determines target audio equipment according to the priority of the audio equipment in the resource playing sequence list; the resource playing sequence list comprises an audio device identifier, corresponding priority information and an available state of the audio device, wherein the audio device identifier comprises device information and port information.
In the second embodiment of the present application, the available status is configured to indicate whether priority information corresponding to the audio device identifier is valid. Based on this, determining the target audio device according to the priority of the audio device in the resource play order table may specifically include:
a1, determining whether priority information corresponding to the audio equipment identification is valid according to the available state corresponding to each audio equipment identification in the resource playing sequence list; the priority information corresponding to the available audio equipment identification is valid in the available state, and the priority information corresponding to the unavailable audio equipment identification is invalid in the available state;
step a2, determining a target audio device from at least one audio device based on the valid priority information.
Furthermore, in the embodiment of the application, the target audio device may be updated in time after the available state of each audio device identifier in the resource playing sequence table is updated each time, and the audio resource may be played based on the updated target audio device.
In step S304, the impulse audio service provides audio resources based on the target audio device.
In an exemplary embodiment disclosed in the present application, before performing step S302 shown in fig. 3, a related initialization step may be performed, specifically including the following steps: when the pulse audio service is initialized, the pulse audio service loads a resource playing sequence table, and updates the priority information and the available state of the audio equipment identifier corresponding to the audio equipment in the resource playing sequence table according to the access sequence of at least one audio equipment; the impulse audio service determines the target audio device according to the priority information and the available state of the audio device identifier in the resource play sequence table.
Specifically, initializing the pulsed audio service may include the following steps C2-C8:
and step C2: when the pulse audio service is initialized, the pulse audio service loads a resource playing sequence table;
and C4: scanning the port state of the terminal equipment to determine the initial access state of the audio equipment corresponding to each audio equipment identifier in the resource playing sequence list;
the initial access state may include accessed and unaccessed states; the initial access state is a state that access is performed to indicate that the corresponding audio equipment is currently accessed to the terminal equipment, and the initial access state is a state that no access is performed to indicate that the corresponding audio equipment is not currently accessed to the terminal equipment.
Step C6: and writing the available state of the audio equipment identifier corresponding to the audio equipment with the initial access state being the accessed audio equipment in the resource playing sequence list as available.
And writing the available state corresponding to the audio equipment into available state aiming at the audio equipment which has accessed the terminal equipment, so that the priority information of the accessed audio equipment in the resource play sequence list is valid.
Step C8: and writing the available state of the audio equipment identifier corresponding to the audio equipment with the initial access state being not accessed in the resource play sequence table as unavailable.
After the initialization of the pulsed audio service is completed, the pulsed audio service may update the available state of the audio device identifier corresponding to the audio device in the resource play sequence table according to the access sequence of the at least one audio device.
For the terminal equipment supporting the hot plug port, a hot plug event is generated when the audio equipment is connected to or disconnected from the hot plug port. Based on this, a second embodiment of the present application provides a technical solution, when a hot plug event occurs in a terminal device, priority information and an available state of each audio device connected to the terminal device may be updated in time, and after each hot plug event occurs, an effective audio device with the highest priority may be determined as a target audio device in time based on the updated priority information and the available state in the resource play sequence table, and audio resource interaction may be performed with the target audio device.
Based on this, for an audio device supporting hot plug, in response to a hot plug event of the audio device, the pulsed audio service updates the priority information and the available state of the audio device in the resource play sequence table, which may specifically include the following steps D2 to D6:
step D2: responding to a hot plug event of the audio equipment, and determining newly-accessed audio equipment or newly-pulled audio equipment corresponding to the hot plug event;
step D4, if the audio equipment is newly accessed, judging whether the audio equipment identification of the newly accessed audio equipment belongs to the resource playing sequence list, if so, setting the priority information corresponding to the audio equipment identification of the newly accessed audio equipment in the resource playing sequence list as the highest priority, and updating the corresponding available state to be available; if not, writing the audio equipment identification of the newly accessed audio equipment into the resource playing sequence list, setting the priority information of the audio equipment identification of the newly accessed audio equipment in the resource playing sequence list as the highest priority, and writing the corresponding available state as available;
in this embodiment, the pulsed audio service may set the priority of the audio device of the hot plug port of the new access terminal device to the highest priority in time, set the available state to be available, and switch to the audio device corresponding to the highest priority to perform interaction of the audio resource while updating the resource play sequence table.
And D6, if the audio equipment is newly pulled out, setting the priority of the audio equipment identification of the newly pulled out audio equipment in the resource playing sequence list as the lowest priority, and updating the corresponding available state as unavailable.
In the above embodiment, the pulse audio service may set the priority of the audio device pulled out from the hot plug port of the terminal device as the lowest priority, set the available state as unavailable, update the resource play sequence table in time, and the audio device with the lowest priority does not perform interaction with the audio resource.
Further, for an audio device that does not support hot plug, a second embodiment of the present application also provides a technical solution for implementing updating priority information of an audio device in a resource play order list, which may specifically include: the pulse audio service sets the priority information of the audio equipment identifier corresponding to the audio equipment which does not support hot plug in the resource playing sequence list as a preset priority, and sets the corresponding available state as available; and performing static detection on the audio equipment which does not support hot plug.
It should be noted that, in the embodiment of the present application, when audio devices accessed by a terminal device only include audio devices that do not support hot plug, and the available state of the audio devices is available, the audio devices that do not support hot plug are taken as target audio devices, and audio resources are interacted through the audio devices that do not support hot plug; when the audio devices connected to the terminal device include other audio devices (for example, audio devices supporting hot plug) in addition to the audio devices not supporting hot plug, the target audio device is determined according to the priority information and the available state of the audio devices in the resource play order list, as in the foregoing method.
For audio equipment which does not support hot plug, updating priority information and available states of audio equipment identifications corresponding to the audio equipment in a resource playing sequence table according to the access sequence of at least one audio equipment, and comprising the following steps E2-E6:
step E2: responding to a hot plug event of second audio equipment except the audio equipment which does not support hot plug, and determining the newly connected second audio equipment or the newly pulled second audio equipment corresponding to the hot plug event;
step E4: if the second audio equipment is newly accessed, the pulse audio service sets the priority of the audio equipment identifier corresponding to the second audio equipment in the resource playing sequence list to be higher than the priority of the audio equipment identifier which does not support hot plug in the resource playing sequence list, and sets the available state of the audio equipment identifier corresponding to the second audio equipment to be available;
and E6: if the second audio equipment is newly pulled out, the pulse audio service sets the priority level of the audio equipment identifier corresponding to the second audio equipment in the resource playing sequence list to be not higher than the priority level of the audio equipment identifier which does not support hot plugging in the resource playing sequence list, and sets the available state of the audio equipment identifier corresponding to the second audio equipment to be unavailable.
In the above embodiment, in the process of dynamically switching the audio device in the available state, the priority information in the resource playing sequence may not be modified, when a hot plug event occurs, the terminal device is accessible based on the audio device, the corresponding priority information is valid, and the terminal device is not available based on the audio device being pulled out, and the corresponding priority information is invalid.
In addition, in practical applications, in order to meet the usage requirement of the audio device by the user, the priority information of the audio device identifier in the resource play order table may be adjusted based on a selection instruction of the user, where the priority setting event includes a preference setting of the audio device by the user, and the method specifically includes the following steps F2 to F4:
step F2: and in response to the audio equipment priority setting event triggered by the user, determining a priority setting instruction of the user for the audio equipment identification in the resource play sequence list based on the priority setting event.
Step F4: and selecting one of the at least one audio device as a target audio device based on the priority setting instruction, and adjusting the priority information corresponding to the audio device identifier of the audio device in the resource playing sequence list to be the highest priority.
Based on the method, one audio device selected by the user can be determined as the target audio device in time, and the audio device selected by the user is switched to perform audio resource interaction, so that the use experience of the user on the audio device is improved.
In the above exemplary embodiment, while dynamically switching the audio device based on the resource play order table, the audio service implementation method further includes: the pulsed audio service reports the resource play sequence list to the multimedia application based on the priority setting event and/or the hot plug event, so that the multimedia application can show the priority information of the audio equipment to the user.
In the above exemplary embodiment, the pulsed audio service reports the resource playing sequence table to the multimedia application based on the event, so that the multimedia application presents the playing priority of at least one audio device to the user, the intuitiveness of the priority information in the pulsed audio service process is improved, and the convenience and efficiency of setting the priority by the user are also improved.
In the above exemplary embodiment, the resource play order table includes priority information of at least one audio device in an application scene of the multimedia application.
In the above-described exemplary embodiments, the audio type information includes audio, video, music, games, and the like, but is not limited thereto. Based on this, by setting the priority information of each audio device included in each audio type, the dynamic switching of the independent audio devices of the PulseAudio in each application scene is realized.
In the above exemplary embodiment, the pulsed audio service updating the priority information in the resource play order table according to the access order of the audio device includes the following specific steps G2 to G6:
step G2: after the start of the impulsive audio service, the audio device is loaded based on the audio driver.
Step G4: and obtaining the equipment information and the port information of the audio equipment based on the loading result of the audio equipment.
Step G6: and determining the corresponding audio equipment identifier of the audio equipment in the resource playing sequence list according to the equipment information and the port information of the audio equipment.
In the above embodiment, after the pulsed audio service is started, the audio device is loaded based on the audio driver, the device identification information is determined based on the device information and the port information, and the priority corresponding to the device identification information in the resource play order table is updated according to the access order.
In the above exemplary embodiment, loading the audio device based on the audio driver includes the following specific steps H2-H8:
step H2: and loading the audio driver supported by the onboard audio chip of the manufacturer.
Step H4: the startup alsa module checks the loaded audio driver for the presence of a user-defined configuration.
Step H6: initiating the udev process checks the loaded audio drivers for support of udev audio rules and checks the audio drivers for support of udev audio rules for the presence of user defined configurations.
Step H8: if so, the user-defined configuration is loaded.
In the above exemplary embodiment, the alsa (abbreviation of Advanced Linux Sound Architecture, short for Advanced Linux Sound Architecture) provides support for audio and MIDI (Musical Instrument Digital Interface) on a Linux operating system, starts the alsa module to check whether a user-defined configuration exists for the loaded audio driver, and if so, loads the user-defined configuration, thereby providing audio resources of High-Fidelity (High-Fidelity) quality through the accessed audio device.
An embodiment of the present disclosure provides an application scenario of an audio service implementation scheme, and how to play priority information of a resource play order table is described below with reference to the application scenarios shown in fig. 4 to 7, and a target audio device is determined according to the priority information.
As shown in fig. 4, application scenario one:
on the basis of a Linux system with a pulseAudio, after a User powers on the Linux system and enters a desktop of the Linux system, the User opens a User Interface (UI) sound setting Interface, and then plugs and plugs a round hole earphone, the UI sound setting Interface can automatically display round hole audio equipment, and after the User opens an audio player, the round hole earphone also has sound output, and the method comprises the following steps:
step S402, the terminal equipment is powered on and started.
And step S404, entering a Linux system desktop.
Step S406, opens a UI (User Interface) of the impulse audio service.
Step S408, the user inserts the round hole earphone into the port of the terminal device, the priority information corresponding to the audio device identifier of the round hole earphone is adjusted to be the highest priority in the resource playing sequence list, and the pulse audio service immediately determines that the round hole earphone is the target audio device and has the highest priority for playing the audio resource.
And step S410, dynamically displaying the round-hole earphones on the UI.
Step S412, the audio player is turned on, and the circular hole earphone plays sound (audio resource).
Application scenario two:
after the UI sound setting interface is opened in the application scene, as shown in fig. 5, the sound setting interface has a round hole earphone (audio device) by default, and belongs to static display, and when the round hole earphone is not changed when the user inserts or removes the round hole earphone, but after the audio player is opened, the round hole earphone has sound output as well, including the following steps:
step S502, the terminal equipment is powered on and started.
And step S504, entering a Linux system desktop.
Step S506, the UI interface of the impulse audio service is opened.
And step S508, statically displaying the round hole earphones on the UI interface.
In step S510, the UI is unchanged.
Application scenario three:
as shown in fig. 6, after entering a system desktop, without opening a UI sound setting Interface, a user opens an audio player, and then plugs and pulls a circular hole earphone, a usb earphone, and multiple different hardware Interface devices such as an HDMI (High Definition Multimedia Interface) and the like in a preset order, and the player can play sound in sequence according to the preset order, which includes the following steps:
step S602, the terminal device is powered on and turned on.
And step S604, entering a Linux system desktop.
Step S606, the UI interface of the impulse audio service is not opened.
Step S608, the audio player is turned on.
Step S610, the user plugs the round-hole earphone, the usb earphone, and the HDMI device in sequence, and sequentially adjusts the priority information of the audio device identifiers of the round-hole earphone, the usb earphone, and the HDMI device to be the highest priority in the resource playing sequence table, where the playing priority of the HDMI device is higher than the playing priority of the usb earphone, and the playing priority of the usb earphone is higher than the playing priority of the round-hole earphone.
And step S612, sequentially outputting sound by the round-hole earphone, the usb earphone and the HDMI equipment according to the plugging and unplugging sequence of the round-hole earphone, the usb earphone and the HDMI equipment.
And an application scene four:
based on the application scenario three, as shown in fig. 7, the pulse audio service records the sequence of various audio devices such as each round-hole earphone, usb earphone, HDMI, and the like, and then restarts or cancels the pulse audio service, when the pulse audio service enters the Linux system desktop again, the audio player is turned on, then the sound is played, the corresponding audio devices can be found in sequence according to the memory sequence, and the sound is also played according to the sequence, which includes the following steps:
step S702, the round hole device, the usb earphone and the HDMI device are inserted into or pulled out of the terminal device.
In step S704, reboot restarts or logs off.
And step S706, entering a Linux system desktop.
Step S708, the audio player is turned on.
Step S710, determining priority information corresponding to the audio device identifier according to the resource playing sequence table which is inserted and memorized before the previous restart/logout, instantly determining a target audio device based on the priority information, and playing the audio resource through the target audio device.
Fig. 8 is a flow chart of another audio service implementation in an exemplary embodiment of the present disclosure.
As shown in fig. 8, the overall flow of another audio service implementation scheme in the exemplary embodiment of the present disclosure includes:
step S802, the Linux system is powered on and started.
Step S804, the kernel loads the audio driver modules of the circular hole device, the usb headset, the HDMI, and other devices.
Step S806, the Alsa module loads and initializes.
In step S808, the PluseAudio service is started.
And step S810, entering a Linux system desktop.
In step S812, the user opens the sound setting interface.
In step S814, the user turns on the audio device.
Step S816, the manufacturer onboard audio firmware supports the audio protocol specification, and the Card driver includes, but is not limited to, the corresponding drivers of the circular hole device, the HDMI device, the DP display, and the usb headset.
And step S818, starting the Alsa-lib module.
In step S820, we check udev rule, i.e. check if udev rule is supported, if yes, then go to step S822.
Wherein, the rule file is the most important part in udev, and the default is stored in/etc/udev/rules. All rule files must be given a suffix of ". Rules". The rules in the rule file are composed of a series of key/value pairs, and the key/value pairs are divided by commas (,). Each key is either a user matching key or an assignment key. The matching key determines whether the rule is applied, while the assigning key indicates assigning a value to the key. These values will affect the device file created by udev and the assignment key can handle a multi-valued list.
Step S822, the user defined configuration is checked.
In step S824, it is determined whether the port stores the user-defined configuration, if yes, step S826 is executed, and if no, step S828 is executed.
In step S826, default port information is adopted.
Step S828, parse configuration and load return.
As shown in fig. 8, when a machine equipped with the Linux system is powered on and started up, a system kernel loads drivers supported by an onboard audio chip of a manufacturer, including a USB/HDMI and audio drivers provided by a third-party manufacturer, and then the system starts an Alsa module to initialize, then starts a PulseAudio service, enters a Linux system desktop, and finally a user interacts with a PulseAudio daemon no matter whether the user turns on a sound setting or turns on an audio player, and selects an audio device as a main audio device by default to play.
The PulseAudio daemon is firstly started through the guidance of PulseAudio service, and runs in the background after being started; when the earphone is started, initialization processing is firstly carried out, each audio driver card N (N =0.. N) in a card driver box shown in fig. 8 sequentially passes through the Alsa-lib module and the udev rule in sequence, whether user-defined configuration exists or not is checked, if the configuration exists, the configuration is analyzed and loaded to be effective, and therefore automatic detection of inserting the earphone is achieved, and otherwise, default configuration which is not skipped to be loaded by the pulse audio is searched.
The improved Pulseaduio daemon can memorize the sequence of plugging a plurality of round hole earphones, usb earphones, HDMI and DP interfaces of a user into a display with an audio function at any time, and then returns the sequence to a sound setting interface and an audio player, so that the audio playing equipment can be switched at will, and besides the plugging of the current user, the audio memorability switching can be restarted or cancelled.
The PulseAudio daemon shown in fig. 8 is the most important part in the entire audio system of Linux, and is also the center for interactive processing of all audio data information, and for the application of a sound setting interface and an audio player, it is only necessary to acquire Event data Event reported by an audio device from the PulseAudio, and then analyze to which audio device the Event data Event is switched.
The Alsa module (abbreviation of Advanced Linux Sound Architecture, short for Advanced Linux Sound Architecture) shown in fig. 8 is also an indispensable part of the audio system, provides support for audio and MIDI (Musical Instrument Digital Interface), and has a function of mainly matching with the PulseAudio analysis user definition configuration specification to achieve the function of automatic detection and identification.
The user-defined configuration specification is compiled aiming at a manufacturer onboard audio chip, and the manufacturer onboard audio firmware is required to support an audio protocol standard book, otherwise, the HiFi high-fidelity tone quality effect cannot be achieved. If the manufacturer onboard audio firmware does not support the audio protocol specification, the PulseAudio defines a profile attribute of an analog earphone or an analog microphone to the manufacturer onboard audio chip by adopting default configuration so as to facilitate a user to control the earphone audio or the microphone device.
In addition, when the sound setting interface is changed, the display and interaction set by the user are mainly focused, for example, when the user plays audio, if the user wants to change the playing sequence of all current audio devices, the user can select to click any audio device to play preferentially through the sound setting interface, the user accesses the PulseAudio operation audio memory repository to read and find the corresponding sink + port or source + port, and then updates the priority value to be +1 at the maximum, that is, the highest priority of the audio device selected by the user is obtained.
Fig. 9 is an architecture diagram of an audio service implementation in an exemplary embodiment of the present disclosure.
As shown in fig. 9, the audio service implementation in the exemplary embodiment of the present disclosure includes the following core processing stages:
(1) And adding a port, and recording a sink + port or a source + port as an identifier of the audio equipment.
Each sink (source) corresponds to each earphone (microphone device), while some sink or source devices have multiple port attributes in practical application, each port represents an audio output or audio input interface, for example, a pair of round-hole earphones represents one sink, but two types of front output and rear output need to be distinguished, or two types of speakers and analog earphones on a notebook, even there are multiple DP interfaces behind some Nvidia video cards, and one DP interface represents one sink, so that different earphones, microphones, video cards HDMI, and DP interfaces are different in hardware function, cannot represent it only with sink or source, otherwise, the audio devices generate data collision.
In the exemplary embodiment of the present disclosure, by introducing the concept of a port, each audio output device is specifically represented by a sink + port manner, and similarly, each audio input device is specifically represented by a source + port manner.
(2) And determining a pre-stored sequence data table, wherein the sequence data table comprises the identification and the corresponding priority.
The priority refers to the sequence of the earphones of the audio equipment, and does not refer to the attribute priority on the sink/source.
(3) And accessing the round hole equipment, the usb earphone and the HDMI output equipment, and updating the sequence data table.
(4) It is determined whether a port is available.
In the prior art, equipment such as a round hole earphone is not accessed, the state is not available, but an audio player mistakenly defaults that the round hole earphone sink is in an available state when playing, so that the situation of audio blocking is caused when the audio player plays on the sink.
In the exemplary embodiment of the disclosure, by increasing the available state identification of the port, the code robustness and reliability are enhanced, and the other abnormal bugs caused by audio device switching are reduced.
(5) A port hook approach was introduced to resolve mutual exclusion between the speaker and the round-hole headset.
In the prior art, the round-hole earphone and the loudspeaker on the notebook computer belong to port ports with different sink numbers, the two port ports are exclusive in hardware (one of two ports), the loudspeaker can be automatically identified when the round-hole earphone is pulled out, and meanwhile, the sequence data table can be updated in real time, so that the sequence of playing sound is disordered.
In the exemplary embodiment of the present disclosure, this occurrence is handled independently by adding an additional handle hook, and the occurrence of an exception is avoided by not updating the sequential data table when the round-hole earphone is unplugged.
(6) And clearing the non-existing equipment when log-off and log-in are restarted.
In the prior art, when the system restarts to log out, the user may unplug an audio device midway, and the sink/source is already in a non-available state, but the source-opening code does not check and clear the boot-up log, which may cause the played audio to stay on the non-available sink/source.
In the exemplary embodiment of the present disclosure, the audio device in the unavailable state is cleared by increasing the power-on timing, and the priority of the audio device in the unavailable state is directly modified to 0, thereby further reducing the occurrence of other exception bugs caused by switching the audio device.
(7) And restarting to log off the maintenance sequence data table.
Over time, there may be more and more different sink/source audio devices accessing the audio system.
In the exemplary embodiment of the present disclosure, by timely adjusting and updating the priority order of the order data table, it is ensured that the audio is played in a memorable order every restart logout.
In addition, pulsecore is the most core key component of the PulseAudio program, and almost all sink/source data operations are related to this, and mainly stay on the unavailable state sink by default when the audio player plays.
Where one sink shown in fig. 9 represents simulating the audio output of a device (i.e., headphones) and one source represents simulating the audio input of a device (i.e., microphones). In practical application scenarios, some devices do not have a source, such as a display of an HDMI/DP interface, and therefore have at least one sink audio device. A Sndcard represents an audio logic device card, here containing the drive data structure information of all the audio devices.
In addition, the audio memory storage shown in fig. 9 is actually a copy of the sequential data table, it can be understood that the sequential data table is running in the memory, and the audio memory storage is a physical media medium, which is to ensure that the latest audio memory sequential table can be obtained every time the computer is started, restarted or logged out, so as to ensure that the audio devices such as various earphones and the like are played and output sound in sequence every time the computer is started, restarted or logged out.
In addition, daemon shown in FIG. 9 is a continuously running program configured to handle staged service demands that a computer system wishes to receive. The daemon program segment submits requests to other suitable programs (or processes). The server for each page on the network has an http d or hypertext transfer protocol daemon that continuously waits for requests sent from the network clients and their users.
Corresponding to the embodiments shown in the above methods and architectures, the present disclosure also provides an audio service implementation apparatus, which may be configured to perform the above method embodiments.
Fig. 10 is a block diagram of an audio service implementing apparatus in an exemplary embodiment of the present disclosure.
Referring to fig. 10, the audio service implementing apparatus 1000 may include:
the determining module 1002 is configured to, when an audio resource needs to be provided, determine a target audio device by using a pulse audio service according to a priority of an audio device in a resource play order table, where the resource play order table includes an audio device identifier and corresponding priority information, and the audio device identifier includes device information and port information.
A control module 1004 configured to provide an audio asset based on the target audio device.
In an exemplary embodiment of the disclosure, the determining module 1002 is further configured to: when the pulse audio service is initialized, the pulse audio service loads a resource playing sequence table, and updates the priority information of the audio equipment identifier corresponding to the audio equipment in the resource playing sequence table according to the access sequence of at least one audio equipment; the access sequence of the audio equipment is the sequence of at least one audio equipment accessing the terminal equipment; and the pulse audio service sets the priority information of the audio equipment identifier corresponding to the audio equipment which is not accessed into the terminal equipment in the resource playing sequence list as the lowest priority.
In an exemplary embodiment of the disclosure, the determining module 1002 is further configured to: when audio equipment which does not belong to the resource playing sequence list exists in the audio equipment of the access terminal equipment, the pulse audio service adds the audio equipment identification corresponding to the audio equipment into the resource playing sequence list, and sets corresponding priority information for the audio equipment identification corresponding to the audio equipment.
In an exemplary embodiment of the present disclosure, the determining module 1002 is further configured to: responding to a hot plug event of the audio equipment, and determining newly-accessed audio equipment or newly-pulled audio equipment corresponding to the hot plug event; if the audio equipment is newly accessed, the pulse audio service judges whether the audio equipment identifier of the newly accessed audio equipment belongs to the resource playing sequence list, and if so, the priority of the audio equipment identifier corresponding to the newly accessed audio equipment in the resource playing sequence list is set as the highest priority; if not, writing the equipment identifier corresponding to the newly accessed audio equipment into the resource playing sequence list, and setting the priority of the equipment identifier corresponding to the newly accessed audio equipment in the resource playing sequence list as the highest priority; if the audio equipment is newly pulled out, the pulse audio service sets the priority of the audio equipment identification of the newly pulled out audio equipment in the resource playing sequence list as the lowest priority.
In an exemplary embodiment of the present disclosure, the determining module 1002 is further configured to: the pulse audio service sets the priority of the audio equipment identifier corresponding to the audio equipment which does not support hot plug in a resource playing sequence list as a preset priority, and performs static detection on the audio equipment which does not support hot plug; updating the priority information of the audio device identifier corresponding to the audio device in the resource playing sequence table according to the access sequence of at least one audio device, including: responding to a hot plug event of first audio equipment except the audio equipment which does not support hot plug, and determining the newly connected first audio equipment or the newly pulled first audio equipment corresponding to the hot plug event; if the first audio equipment is newly accessed, the pulse audio service sets the priority of the audio equipment identifier corresponding to the first audio equipment in the resource playing sequence list to be higher than the priority of the audio equipment which does not support hot plug in the resource playing sequence list; if the first audio equipment is newly pulled out, the pulse audio service sets the priority level of the audio equipment identification corresponding to the first audio equipment in the resource playing sequence list to be not higher than the priority level of the audio equipment which does not support hot plug in the resource playing sequence list.
In an exemplary embodiment of the disclosure, the determining module 1002 is further configured to: the resource playing sequence list can also comprise the available state of the audio equipment, and the available state indicates whether the priority information corresponding to the identification of the audio equipment is valid or not; updating the priority information of the audio equipment identifier corresponding to the audio equipment in the resource playing sequence table according to the access sequence of at least one audio equipment, wherein the priority information comprises the following steps: updating the priority information and the available state of the audio equipment identifier corresponding to the audio equipment in the resource playing sequence list according to the access sequence of at least one audio equipment; the available status is available or unavailable.
In an exemplary embodiment of the disclosure, the determining module 1002 is further configured to: determining a target audio device according to a priority of at least one audio device in a resource play order list, comprising: determining whether priority information corresponding to the audio equipment identification is valid according to the available state corresponding to each audio equipment identification in the resource playing sequence list; the priority information corresponding to the available audio equipment identification is valid in the available state, and the priority information corresponding to the unavailable audio equipment identification is invalid in the available state; a target audio device is determined from the at least one audio device based on the valid priority information.
In an exemplary embodiment of the disclosure, the determining module 1002 is further configured to: initializing a pulsed audio service, comprising: initializing a pulse audio service, and loading a resource playing sequence table; scanning the port state of the terminal equipment, and determining the initial access state of the audio equipment corresponding to each audio equipment identifier in the resource playing sequence list; the initial access state is accessed or not accessed; writing the available state of the audio equipment identifier corresponding to the audio equipment with the initial access state being accessed in the resource playing sequence list as available; and writing the available state of the audio equipment identifier corresponding to the audio equipment with the initial access state being not accessed in the resource play sequence table as unavailable.
In an exemplary embodiment of the disclosure, the determining module 1002 is further configured to: updating the priority information and the available state of the audio equipment identifier corresponding to the audio equipment in the resource playing sequence table according to the access sequence of at least one audio equipment, wherein the priority information and the available state comprise: responding to a hot plug event of the audio equipment, and determining newly-accessed audio equipment or newly-pulled audio equipment corresponding to the hot plug event; if the audio equipment is newly accessed, judging whether the audio equipment identification of the newly accessed audio equipment belongs to the resource playing sequence list, if so, setting the priority information corresponding to the audio equipment identification of the newly accessed audio equipment in the resource playing sequence list as the highest priority, and updating the corresponding available state to be available; if not, writing the audio equipment identification of the newly accessed audio equipment into the resource playing sequence list, setting the priority information of the audio equipment identification of the newly accessed audio equipment in the resource playing sequence list as the highest priority, and writing the corresponding available state as available; if the audio equipment is newly pulled out, the priority of the audio equipment identification of the newly pulled out audio equipment in the resource playing sequence list is set as the lowest priority, and the corresponding available state is updated to be unavailable.
In an exemplary embodiment of the disclosure, the determining module 1002 is further configured to: the pulse audio service sets the priority information of the audio equipment identifier corresponding to the audio equipment which does not support hot plug in the resource playing sequence list as a preset priority, and sets the corresponding available state as available; carrying out static detection on the audio equipment which does not support hot plug; updating the priority information and the available state of the audio equipment identifier corresponding to the audio equipment in the resource playing sequence table according to the access sequence of at least one audio equipment, wherein the priority information and the available state comprise: responding to a hot plug event of a second audio device except the audio device which does not support hot plug, and determining a newly-accessed second audio device or a newly-pulled second audio device corresponding to the hot plug event; if the second audio equipment is newly accessed, the pulse audio service sets the priority level of the audio equipment identifier corresponding to the second audio equipment in the resource playing sequence list to be higher than the priority level of the audio equipment identifier which does not support hot plugging in the resource playing sequence list, and sets the available state of the audio equipment identifier corresponding to the second audio equipment to be available; if the second audio equipment is newly pulled out, the pulse audio service sets the priority level of the audio equipment identifier corresponding to the second audio equipment in the resource playing sequence list to be not higher than the priority level of the audio equipment identifier which does not support hot plugging in the resource playing sequence list, and sets the available state of the audio equipment identifier corresponding to the second audio equipment to be unavailable.
In an exemplary embodiment of the disclosure, the determining module 1002 is further configured to: the pulse audio service reports the resource playing sequence table to the multimedia application based on the priority setting event and/or the hot plug event of the audio equipment, so that the multimedia application can show the priority information of the audio equipment to a user.
In an exemplary embodiment of the present disclosure, the resource play order list includes priority information of at least one audio device in an application scene of the multimedia application.
In an exemplary embodiment of the disclosure, the determining module 1002 is further configured to: loading the audio equipment based on the audio driver after the start of the pulse audio service; acquiring equipment information and port information of the audio equipment based on a loading result of the audio equipment; and determining the corresponding audio equipment identifier of the audio equipment in the resource playing sequence list according to the equipment information and the port information of the audio equipment.
In an exemplary embodiment of the disclosure, the determining module 1002 is further configured to: loading an audio driver supported by an onboard audio chip of a manufacturer; starting an alsa module to check whether the loaded audio driver has user-defined configuration; and/or starting a udev process to check whether the loaded audio driver supports the udev audio rule and to check whether the audio driver supporting the udev audio rule has user-defined configuration; if so, the user-defined configuration is loaded.
Since the functions of the audio service implementation apparatus 1000 have been described in detail in the corresponding method embodiments, the disclosure is not repeated herein.
It should be noted that although in the above detailed description several modules or units of the device configured for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
In an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.
An electronic device 1100 according to this embodiment of the invention is described below with reference to fig. 11. The electronic device 1100 shown in fig. 11 is only an example and should not bring any limitations to the function and the scope of use of the embodiments of the present invention.
As shown in fig. 11, electronic device 1100 is embodied in the form of a general purpose computing device. The components of the electronic device 1100 may include, but are not limited to: the at least one processing unit 1110, the at least one memory unit 1120, and a bus 1130 that couples various system components including the memory unit 1120 and the processing unit 1110.
Where the memory unit stores program code, which may be executed by the processing unit 1110 to cause the processing unit 1110 to perform steps according to various exemplary embodiments of the present invention as described in the above-mentioned "exemplary methods" section of this specification. For example, the processing unit 1110 may perform a method as illustrated by embodiments of the present disclosure.
The storage unit 1120 may include a readable medium in the form of a volatile memory unit, such as a random access memory unit (RAM) 11201 and/or a cache memory unit 11202, and may further include a read only memory unit (ROM) 11203.
The memory unit 1120 may also include a program/utility 11204 having a set (at least one) of program modules 11205, such program modules 11205 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which, or some combination thereof, may comprise an implementation of a network environment.
Bus 1130 may be representative of one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
The electronic device 1100 may also communicate with one or more external devices 1140 (e.g., keyboard, pointing device, bluetooth device, etc.), with one or more devices that enable a user to interact with the electronic device 1100, and/or with any devices (e.g., router, modem, etc.) that enable the electronic device 1100 to communicate with one or more other computing devices. Such communication may occur via an input/output (I/O) interface 1150. Also, the electronic device 1100 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN) and/or a public network such as the Internet) via the network adapter 11110. As shown, the network adapter 11110 communicates with the other modules of the electronic device 1100 via the bus 1130. It should be appreciated that although not shown, other hardware and/or software modules may be used in conjunction with the electronic device 1100, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
In an exemplary embodiment of the present disclosure, there is also provided a computer-readable storage medium having stored thereon a program product capable of implementing the above-described method of the present specification. In some possible embodiments, aspects of the invention may also be implemented in the form of a program product comprising program code configured to cause a terminal device to perform the steps according to various exemplary embodiments of the invention described in the "exemplary methods" section above of this specification, when the program product is run on the terminal device.
A program product configured to implement the above method according to an embodiment of the present invention may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited in this regard and, in the present document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
A computer readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code configured to carry out operations of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
Furthermore, the above-described figures are merely schematic illustrations of processes involved in methods according to exemplary embodiments of the invention, and are not intended to be limiting. It will be readily understood that the processes shown in the above figures are not intended to indicate or limit the chronological order of the processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, e.g., in multiple modules.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.

Claims (13)

1. An audio service implementation method, the method comprising:
when audio resources need to be provided for the terminal equipment, determining target audio equipment by the pulse audio service according to the priority of at least one audio equipment in a resource playing sequence list, wherein the resource playing sequence list comprises audio equipment identifications and corresponding priority information, and the audio equipment identifications comprise equipment information and port information;
the pulsed audio service provides the audio resource based on the target audio device.
2. The audio service implementation method of claim 1, wherein the method further comprises:
when the pulse audio service is initialized, the pulse audio service loads the resource playing sequence table, and the priority information of the audio equipment identifier corresponding to the audio equipment in the resource playing sequence table is updated according to the access sequence of the at least one audio equipment;
the access sequence of the audio equipment is the sequence of the at least one audio equipment accessing the terminal equipment;
and the pulse audio service sets the priority information of the audio equipment identifier corresponding to the audio equipment which is not accessed to the terminal equipment in the resource playing sequence list as the lowest priority.
3. The audio service implementing method of claim 2, wherein the updating the priority information of the audio device identifier corresponding to the audio device in the resource play order table according to the access order of the at least one audio device comprises:
and when audio equipment which does not belong to the resource playing sequence list exists in the audio equipment accessed into the terminal equipment, the pulse audio service adds the audio equipment identification corresponding to the audio equipment into the resource playing sequence list, and sets corresponding priority information for the audio equipment identification corresponding to the audio equipment.
4. The audio service implementing method of claim 2, wherein the updating the priority information of the audio device identifier corresponding to the audio device in the resource play order table according to the access order of the at least one audio device comprises:
responding to a hot plug event of audio equipment, and determining newly-accessed audio equipment or newly-pulled audio equipment corresponding to the hot plug event;
if the audio equipment is newly accessed, the pulse audio service judges whether the audio equipment identifier of the newly accessed audio equipment belongs to the resource playing sequence list, and if so, the priority of the audio equipment identifier corresponding to the newly accessed audio equipment in the resource playing sequence list is set as the highest priority; if not, writing the equipment identification corresponding to the newly accessed audio equipment into the resource playing sequence table, and setting the priority of the equipment identification corresponding to the newly accessed audio equipment in the resource playing sequence table as the highest priority;
and if the audio equipment is newly pulled out, the pulse audio service sets the priority of the audio equipment identifier of the newly pulled out audio equipment in the resource play sequence list to be the lowest priority.
5. The audio service implementing method according to claim 2, wherein the pulsed audio service sets the priority of the audio device identifier corresponding to the audio device that does not support hot plug in the resource play order list to a preset priority, and performs static detection on the audio device that does not support hot plug;
the updating the priority information of the audio device identifier corresponding to the audio device in the resource play sequence table according to the access sequence of the at least one audio device includes:
responding to a hot plug event of first audio equipment except the audio equipment which does not support hot plug, and determining newly connected first audio equipment or newly pulled first audio equipment corresponding to the hot plug event;
if the first audio equipment is newly accessed, the pulse audio service sets the priority of the audio equipment identifier corresponding to the first audio equipment in the resource playing sequence list to be higher than the priority of the audio equipment which does not support hot plug in the resource playing sequence list;
if the first audio equipment is newly pulled out, the pulse audio service sets the priority of the audio equipment identifier corresponding to the first audio equipment in the resource playing sequence list to be not higher than the priority of the audio equipment which does not support hot plug in the resource playing sequence list.
6. The audio service implementing method of claim 2, wherein the resource play order table further includes an available status of the audio device, the available status indicating whether the priority information corresponding to the audio device identifier is valid;
the updating of the priority information of the audio device identifier corresponding to the audio device in the resource play sequence table according to the access sequence of the at least one audio device includes:
updating the priority information and the available state of the audio equipment identifier corresponding to the audio equipment in the resource playing sequence table according to the access sequence of the at least one audio equipment; the available state is available or unavailable.
7. The audio service implementing method of claim 6, wherein the determining the target audio device according to the priority of at least one audio device in the resource play order list comprises:
determining whether priority information corresponding to the audio equipment identification is valid according to the available state corresponding to each audio equipment identification in the resource playing sequence list; the available state is that the priority information corresponding to the audio equipment identifier is valid, and the available state is that the priority information corresponding to the audio equipment identifier is invalid;
determining a target audio device from the at least one audio device based on the valid priority information.
8. The audio service implementation method of claim 6 wherein the initializing the pulsed audio service comprises:
initializing the pulse audio service and loading the resource playing sequence table;
scanning the port state of the terminal equipment, and determining the initial access state of the audio equipment corresponding to each audio equipment identifier in the resource playing sequence list; the initial access state is accessed or not accessed;
writing the available state of the audio equipment identifier corresponding to the audio equipment with the initial access state being accessed in the resource playing sequence list as available;
and writing the available state of the audio equipment identifier corresponding to the audio equipment with the initial access state being the unaccessed audio equipment in the resource playing sequence list as unavailable.
9. The audio service implementing method of claim 6, wherein the updating the priority information and the available status of the audio device identifier corresponding to the audio device in the resource play order table according to the access order of the at least one audio device comprises:
responding to a hot plug event of audio equipment, and determining newly-accessed audio equipment or newly-pulled audio equipment corresponding to the hot plug event;
if the audio equipment is newly accessed, judging whether the audio equipment identification of the newly accessed audio equipment belongs to the resource playing sequence list, if so, setting the priority information corresponding to the audio equipment identification of the newly accessed audio equipment in the resource playing sequence list as the highest priority, and updating the corresponding available state to be available; if not, writing the audio equipment identifier of the newly accessed audio equipment into the resource playing sequence list, setting the priority information of the audio equipment identifier of the newly accessed audio equipment in the resource playing sequence list as the highest priority, and writing the corresponding available state as available;
and if the audio equipment is newly pulled out, setting the priority of the audio equipment identification of the newly pulled out audio equipment in the resource playing sequence list as the lowest priority, and updating the corresponding available state to be unavailable.
10. The audio service implementing method of claim 6, wherein the pulsed audio service sets priority information of an audio device identifier corresponding to an audio device that does not support hot plugging in the resource play order table to a preset priority, and sets a corresponding available state to available; and the audio equipment which does not support hot plug is statically detected;
the updating of the priority information and the available state of the audio device identifier corresponding to the audio device in the resource play sequence table according to the access sequence of the at least one audio device includes:
responding to a hot plug event of a second audio device except the audio device which does not support hot plug, and determining a newly connected second audio device or a newly pulled second audio device corresponding to the hot plug event;
if the audio equipment is newly accessed second audio equipment, the pulse audio service sets the priority of the audio equipment identifier corresponding to the second audio equipment in the resource playing sequence list to be higher than the priority of the audio equipment which does not support hot plug in the resource playing sequence list, and sets the available state of the audio equipment identifier corresponding to the second audio equipment to be available;
if the second audio equipment is newly pulled out, the pulse audio service sets the priority level of the audio equipment identifier corresponding to the second audio equipment in the resource playing sequence list to be not higher than the priority level of the audio equipment which does not support hot plugging in the resource playing sequence list, and sets the available state of the audio equipment identifier corresponding to the second audio equipment to be unavailable.
11. An audio service implementing apparatus, comprising:
the determining module is configured to determine a target audio device according to a priority of at least one audio device in a resource play sequence table when audio resources need to be provided for the terminal device, wherein the resource play sequence table includes an audio device identifier and corresponding priority information, and the audio device identifier includes device information and port information;
a control module configured to provide the audio asset based on the target audio device.
12. An electronic device, comprising:
a memory; and
a processor coupled to the memory, the processor configured to perform the audio service implementation method of any of claims 1-10 based on instructions stored in the memory.
13. A computer-readable storage medium, characterized in that a program is stored thereon, which when executed by a processor implements the audio service implementing method of any one of claims 1-10.
CN202211305898.4A 2022-10-24 2022-10-24 Audio service implementation method and device, electronic equipment and readable medium Pending CN115586883A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211305898.4A CN115586883A (en) 2022-10-24 2022-10-24 Audio service implementation method and device, electronic equipment and readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211305898.4A CN115586883A (en) 2022-10-24 2022-10-24 Audio service implementation method and device, electronic equipment and readable medium

Publications (1)

Publication Number Publication Date
CN115586883A true CN115586883A (en) 2023-01-10

Family

ID=84781692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211305898.4A Pending CN115586883A (en) 2022-10-24 2022-10-24 Audio service implementation method and device, electronic equipment and readable medium

Country Status (1)

Country Link
CN (1) CN115586883A (en)

Similar Documents

Publication Publication Date Title
JP7351907B2 (en) Online document sharing methods, devices, electronic devices and storage media
EP3389230B1 (en) System for providing dialog content
US20220053068A1 (en) Methods, apparatuses and computer storage media for applet state synchronization
RU2689203C2 (en) Flexible circuit for adjusting language model
KR20190024762A (en) Music Recommendation Method, Apparatus, Device and Storage Media
US20130031275A1 (en) Peripheral device identification for pairing
KR20180006966A (en) Digital assistant scalability to third party applications
US20220214932A1 (en) Methods, devices and computer storage media for inter-mini program platform communication
CN105630586A (en) Information processing method and electronic device
JP6934076B2 (en) Smart service methods, devices and equipment
JP7381518B2 (en) Application program operation guidance methods, devices, equipment and readable storage media
CN109862475A (en) Audio-frequence player device and method, storage medium, communication terminal
KR102226817B1 (en) Method for reproducing contents and an electronic device thereof
US10664522B2 (en) Interactive voice based assistant for object assistance
US20230350502A1 (en) Information input method, system of cloud input method and client
CN112687286A (en) Method and device for adjusting noise reduction model of audio equipment
CN105302752B (en) A kind of connection method of audio frequency apparatus, audio playing apparatus
WO2013089202A1 (en) Language teaching material customization system, language teaching material customization method, and storage medium
CN112218140A (en) Video synchronous playing method, device, system and storage medium
CN115586883A (en) Audio service implementation method and device, electronic equipment and readable medium
US20130077609A1 (en) Audio communications system and methods using personal wireless communication devices
CN104007969A (en) Booting sound playing method and device
CN111176605B (en) Audio output method and electronic equipment
CN113709506A (en) Multimedia playing method, device, medium and program product based on cloud mobile phone
CN108694207B (en) Method and system for displaying file icons

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination