WO2023045510A1 - Method and apparatus for establishing voice channel, electronic device, and storage medium - Google Patents

Method and apparatus for establishing voice channel, electronic device, and storage medium Download PDF

Info

Publication number
WO2023045510A1
WO2023045510A1 PCT/CN2022/105310 CN2022105310W WO2023045510A1 WO 2023045510 A1 WO2023045510 A1 WO 2023045510A1 CN 2022105310 W CN2022105310 W CN 2022105310W WO 2023045510 A1 WO2023045510 A1 WO 2023045510A1
Authority
WO
WIPO (PCT)
Prior art keywords
operating system
modem
instruction data
sending
service
Prior art date
Application number
PCT/CN2022/105310
Other languages
French (fr)
Chinese (zh)
Inventor
陈祥卿
Original Assignee
北京字节跳动网络技术有限公司
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 北京字节跳动网络技术有限公司 filed Critical 北京字节跳动网络技术有限公司
Publication of WO2023045510A1 publication Critical patent/WO2023045510A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading

Definitions

  • the present disclosure relates to the field of computer technology, and in particular to a voice channel establishment method, device, electronic equipment, storage medium, computer program product and computer program.
  • the mainstream operating systems that support voice call services are Android and IOS.
  • the Linux operating system has many applications in supporting text editing, web browsing, and playing audio and video services, it does not support voice call services. Many, there is no mature implementation plan.
  • the disclosure provides a voice channel establishment method, device, electronic equipment, storage medium, computer program product and computer program.
  • the present disclosure provides a method for establishing a voice channel, the method including:
  • the instruction data is sent to the telephone service of the framework layer of the first operating system through the telephone application program of the first operating system;
  • the instruction data is sent to the modem through the modem hardware abstraction layer, so that the modem establishes a voice channel according to the instruction data.
  • the present disclosure provides an apparatus for establishing a voice channel, which includes:
  • the first sending module is used to send the instruction data to the telephone service of the frame layer of the first operating system through the telephone application program of the first operating system in response to the call-out operation instruction of the telephone;
  • the second sending module is used to open the audio data transmission channel through the telephone service, and send the instruction data to the modem hardware abstraction layer of the second operating system through the telephone service;
  • the third sending module is configured to send the instruction data to the modem through the modem hardware abstraction layer, so that the modem establishes a voice channel according to the instruction data.
  • an electronic device including:
  • the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor, so that the at least one processor can execute the method in any embodiment of the present disclosure.
  • the application provides a non-transitory computer-readable storage medium storing computer instructions, the computer instructions are used to make a computer execute the method in any embodiment of the present disclosure.
  • the present disclosure provides a computer program product, including a computer program.
  • the computer program When the computer program is executed by a processor, the method in any embodiment of the present disclosure is implemented.
  • the present disclosure provides a computer program, which implements the method in any embodiment of the present disclosure when the computer program is executed by a processor.
  • the present disclosure provides a voice channel establishment method, device, electronic equipment, storage medium, computer program product, and computer program.
  • the instruction data of the call-out operation instruction is sent to the first operating system through the telephone application program of the first operating system.
  • the telephone service of the framework layer open the audio data transmission channel through the telephone service, and send the instruction data to the modem hardware abstraction layer of the second operating system through the telephone service; send the instruction data to the modem through the modem hardware abstraction layer,
  • the modem is configured to establish a voice channel according to the command data, so that the first operating system supports voice communication services.
  • FIG. 1 is a flowchart of a method for establishing a voice channel in an embodiment of the present disclosure
  • FIG. 2 is a flow chart of a method for establishing a voice channel in an embodiment of the present disclosure
  • FIG. 3 is a schematic diagram of a voice channel establishment method in an embodiment of the present disclosure.
  • FIG. 4 is a schematic diagram of an apparatus for establishing a voice channel in an embodiment of the present disclosure
  • Fig. 5 is a block diagram of an electronic device used to implement the method for establishing a voice channel according to an embodiment of the present disclosure.
  • the hardware architecture of mobile devices such as mobile phones and tablet computers is composed of two processors.
  • One processor is used to run the operating system on which the application program is run.
  • This processor is called the Application Processor (Application Processor, AP);
  • the device runs 2G, 3G, 4G, 5G protocol stack programs to realize functions related to radio frequency wireless communication, which is called baseband processor (Baseband Processor, BP).
  • Baseband Processor Baseband Processor
  • the operating system needs to rely on the modem driver to realize command interaction with the modem, but Modem manufacturers usually do not provide BP support under the Linux operating system, resulting in the inability of the Linux operating system to realize data communication with the modem and cannot support voice call services.
  • the applicant illustrates the technical problems to be solved by the embodiments of the present invention by taking the Linux operating system calling the Modem driver of the Android operating system as an example.
  • the cross-system driver call implemented by the containerized operating system implemented by sharing the operating system kernel is applicable to the method of the embodiment of the present invention.
  • the first operating system serving as the host and the second operating system deployed in the first operating system share a Linux kernel, which is realized by technologies such as LXC and containerization.
  • the first operating system may be a GNU/Linux distribution, such as Ubuntu, Debian, RedHat, etc. It should be noted that the first operating system is not limited to running on a physical machine, and may also be an operating system hosted on another operating system, such as WSL in a Windows system.
  • the second operating system may be an Android (Android) operating system, covering Android OS issued by Google, AOSP and various derivative systems based on AOSP, such as MIUI, EMUI, One UI, etc.
  • Android Android
  • various derivative systems based on AOSP such as MIUI, EMUI, One UI, etc.
  • the hardware abstraction layer HAL encapsulates the operating system kernel driver, provides hardware access interfaces for various application layer requirements upwards, and shields the driver implementation details of the underlying hardware downwards.
  • the hardware abstraction layer interface description language also known as the hardware abstraction layer interface definition language, is a language specification used to describe software component interfaces, so that software components (written in different languages) communicate with each other.
  • the hardware abstraction layer interface description language is HIDL, which defines the interface between the Android Framework and the Android HAL implementation; in the Tizen system, the hardware abstraction layer interface description language defines native subsystems and Hardware Adaptation Layer for the OAL Interface IDL The interface between implementations; the IDL of other systems can be queried from the architecture manual of the corresponding system.
  • the executive subject of the present disclosure may be any electronic device, such as a terminal device, including but not limited to user equipment (UE, User Equipment), mobile device, cellular phone, cordless phone, personal digital assistant (PDA, Personal Digital Assistant), Handheld devices, computing devices, in-vehicle devices, wearable devices, etc.
  • UE user equipment
  • PDA personal digital assistant
  • Handheld devices computing devices, in-vehicle devices, wearable devices, etc.
  • the method may also be implemented in a manner in which the processor invokes computer-readable instructions stored in the memory.
  • the technical solution of the present disclosure can be applied to electronic equipment, and the electronic equipment includes a first operating system and a second operating system that shares a kernel with the first operating system and is deployed in the first operating system.
  • the first operating system is Linux operating system
  • the second operating system is Android operating system.
  • the Linux operating system realizes the communication between the Linux operating system and the Android operating system by calling the Modem Hardware Abstract Layer (Android Modem Hardware Abstract Layer, Android Modem HAL) under Android, and then realizes the communication between the Linux operating system and the modem.
  • the specific process of the Linux operating system calling the Modem HAL of the Android operating system includes:
  • the Hwbinder service sends data from the Linux operating system to the Modem HAL of the Android operating system through the system inter-process communication method. Before using the Hwbinder service, pre-registration is required. Pre-register the transmission channel process of the Linux operating system as the client (client) of the Hwbinder service, and pre-register the Android Modem HAL as the server (server) of the Hwbinder service. After the registration is completed, the communication between the transmission channel process of the Linux operating system and the Android Modem HAL can be realized through the Hwbinder service.
  • pre-registering the transmission channel process of the Linux operating system as the client of the Hwbinder service includes: utilizing the first object creation function to create a first object of the client; utilizing the first object registration function to register the first object into the Hwbinder service;
  • the first object calling function is configured, and the first object calling function is used to call the first object to realize the transmission of encoded instruction data.
  • the first object creation function may be gbinder_client_new; the first object registration function may be gbinder_client_ipc; the first object calling function may be gbinder_client_transact.
  • the Android Modem HAL is pre-registered as the server of the Hwbinder service, including: using the second object creation function to create the second object of the server; using the second object registration function to register the second object in the Hwbinder service; configuring the second object
  • the calling function, the second object calling function is used to call the second object to realize the transmission of encoded instruction data.
  • the second object creation function may be gbinder_server_new; the second object registration function may be gbinder_server_ipc; the second object calling function may be gbinder_server_transact.
  • the Android operating system is used as a relay to realize the communication between the Linux operating system and the modem, so that the Linux operating system supports the voice call service.
  • the voice channel establishment method in the embodiment of the present disclosure will be introduced in detail below.
  • FIG. 1 is a schematic diagram of a voice channel establishment method in an embodiment of the present disclosure. As shown in Figure 1, the method may include:
  • Step S101 in response to the call-out operation instruction, the instruction data is sent to the telephone service of the framework layer of the first operating system through the telephone application program of the first operating system;
  • the terminal device responds to the call-out operation command input by the user, and sends the command data of the call-out operation command to the telephony service Telephony of the framework layer of the Linux operating system through the Linux telephone application program.
  • Step S102 open the audio data transmission channel through the telephone service, and send the instruction data to the modem hardware abstraction layer of the second operating system through the telephone service;
  • the first operating system as the Linux operating system and the second operating system as the Android operating system as an example, call the audio equipment of the Linux operating system through the telephone service of the Linux framework layer, open the audio data transmission channel, and be used for inputting and recording audio data. output.
  • the Android modem HAL is used as a relay to send the command data to the Rild process of the radio frequency interface layer of the Android modem HAL.
  • the Rild process is an application process that can be used for communication between the Android modem HAL and the modem .
  • Step S103 sending the instruction data to the modem through the modem hardware abstraction layer, so that the modem establishes a voice channel according to the instruction data.
  • the command data is sent to the modem through the Rild process of the Android modem HAL, and the modem establishes a voice channel according to the command data.
  • the modem when establishing the voice channel, completes the voice call signaling process of the corresponding mobile network according to the current network status, for example, 2G, 3G, 4G, 5G, etc.
  • the instruction data of the call-out operation command is sent to the telephone service of the frame layer of the first operating system through the telephone application program of the first operating system; the audio data transmission channel is opened through the telephone service, And send the instruction data to the modem hardware abstraction layer of the second operating system through the telephone service; send the instruction data to the modem through the modem hardware abstraction layer, so that the modem establishes a voice channel according to the instruction data, thereby realizing the first operation
  • the system supports voice call service.
  • step S101 For the specific implementation manner of step S101, see the following embodiments.
  • the instruction data is sent to the telephony service of the framework layer of the first operating system through the telephony application program of the first operating system, including:
  • the data bus interface of the voice call management module of the telephone service is invoked by the telephone application program of the first operating system, and the instruction data is sent to the telephone service of the frame layer of the first operating system.
  • the bus (such as D-Bus, etc.) Telephony services sent to the Linux framework layer.
  • the data bus interface is used for data transmission, which can realize low delay, low overhead, and high availability.
  • step S102 For the specific implementation manner of step S102, refer to the following embodiments.
  • the instruction data is sent to the modem hardware abstraction layer of the second operating system through the telephony service, including:
  • the instruction data is encoded according to the hardware abstraction layer interface description language (such as Android's HAL Interface Description Language, HIDL) rules, and the encoded instruction data is obtained;
  • the hardware abstraction layer interface description language such as Android's HAL Interface Description Language, HIDL
  • the encoded command data is sent to the modem hardware abstraction layer via the telephony service.
  • the HIDL rule is an interface description language used to specify the interface between the HAL and its users, and the specified types and function calls can be collected into interfaces (Interface) and packages (Package).
  • HIDL can organize specified data structures and method signatures into interfaces, and these interfaces will be collected into packages for use.
  • the framework (framework) can be isolated from the HAL, so that the framework part can be directly overwritten and updated without recompiling the HAL.
  • the voice channel establishment method also includes:
  • the channel establishment success notification message is sent to the telephone application program of the first operating system through the modem.
  • the voice channel is established.
  • the phone application program of the first operating system displays a voice call interface, and the user can now make a voice call.
  • the channel establishment success notification message is sent to the phone application program of the first operating system through the modem, including:
  • the channel establishment success notification message is sent to the phone application program of the first operating system through the phone service.
  • the channel establishment success notification message is sent to the Android modem HAL through the modem, and the channel establishment success notification message is sent to the telephone service through the Android modem HAL VoiceCallManager, VoiceCallManager sends the channel establishment success notification message to the Linux phone application program through the bus interface, and the phone application program displays the voice call interface, prompting the user to make a voice call.
  • opening an audio data transmission channel through a telephone service includes:
  • the audio data transmission channel can be opened by calling the audio device interface through the telephone service.
  • the audio data transmission channel is a channel for transmitting audio data between layers inside the terminal device.
  • the voice channel establishment method also includes:
  • the audio data transmission channel is established in advance through the framework layer of the first operating system or the framework layer of the second operating system.
  • the audio data transmission channel can be established through the Linux framework layer or the Android framework layer. If the audio data transmission channel is established through the Linux framework layer, the audio device of the Linux operating system is invoked through the telephone service of the Linux framework layer to open the audio data transmission channel. If the audio data transmission channel is set up by the Android framework layer, then the audio equipment of the Android operating system is called by the telephone service of the Android framework layer, and the audio data transmission channel is opened.
  • Fig. 2 is a flowchart of a voice channel establishment method in an embodiment of the present disclosure, wherein the first operating system is a Linux operating system, and the second operating system is an Android operating system.
  • the method in this embodiment includes:
  • Step S201 in response to the call-out operation instruction, send the instruction data to the telephone service of the Linux framework layer through the Linux telephone application program;
  • the user When the user makes a call, he enters the phone number through the user interface of the Linux phone application program, clicks the call-out button, and generates a call-out event.
  • the terminal device responds to the call-out operation command input by the user, and sends the call out through the Linux phone application program.
  • the data is sent to the telephony service Telephony of the Linux framework layer.
  • Step S202 open the audio data transmission channel through the telephone service, and send the command data to the Android modem HAL through the telephone service;
  • the audio device of the Linux operating system is invoked through the telephone service of the Linux framework layer, and the audio data transmission channel is opened for input and output of audio data.
  • the Android modem HAL is used as a relay to send the command data to the Rild process of the radio frequency interface layer of the Android modem HAL.
  • the Rild process can be used for communication between the Android modem HAL and the modem. application process.
  • Step S203 sending the instruction data to the modem through the Android modem HAL, so that the modem establishes a voice channel according to the instruction data;
  • the command data is sent to the modem through the Rild process of the Android modem HAL, and the modem establishes a voice channel according to the command data.
  • the modem when establishing the voice channel, completes the voice call signaling process of the corresponding mobile network according to the current network status, for example, 2G, 3G, 4G, 5G.
  • Step S204 when the voice channel is established, send the channel establishment success notification message to the Android modem HAL through the modem;
  • the voice channel is established.
  • the Linux phone application it is first necessary to send a channel establishment successful notification message to the Android modem HAL.
  • Step S205 sending a channel establishment successful notification message to the phone service through the Android modem HAL;
  • the channel establishment success notification message is sent to the VoiceCallManager of the telephony service through the Android modem HAL.
  • step S206 the channel establishment success notification message is sent to the Linux phone application program through the phone service.
  • the VoiceCallManager of the telephone service sends a channel establishment successful notification message to the Linux telephone application program through the D-Bus interface, and the telephone application program displays a voice call interface, prompting the user that the voice call can be made.
  • FIG. 3 is a schematic diagram of a voice channel establishment method in an embodiment of the present disclosure.
  • the hardware architecture of the terminal device is composed of two processors, one processor is used to run the operating system, and the application program is run on it, and the processor is called an application processor (Application Processor, AP ); another processor runs 2G, 3G, 4G, 5G protocol stack programs to realize functions related to radio frequency wireless communication, which is called a baseband processor (Baseband Processor, BP).
  • the Android operating system and the Linux operating system both operating systems run on the AP, and the Android operating system is used as a relay to realize the communication between the Linux operating system and the modem in the BP.
  • the terminal device responds to the call-out operation instruction input by the user, and calls the Linux framework layer through the Linux phone application program.
  • the data bus D-Bus interface of the telephony service sends the command data to the telephony service.
  • the telephone service encodes the instruction data according to the HIDL rules to obtain the encoded instruction data; sends the encoded instruction data to the Rild process of the radio frequency interface layer of the Android modem HAL abstraction layer of the Android modem HAL, through the Rild of the Android modem HAL
  • the process sends the instruction data to the modem, and the modem establishes a voice channel according to the instruction data.
  • the modem completes the voice call signaling process of the mobile network according to the corresponding protocol stack procedures of 2G, 3G, 4G, and 5G.
  • the channel establishment success notification message is sent to the Rild process of the Android modem HAL through the modem, and the channel establishment success notification message is sent to the phone service through the Rild process of the Android modem HAL, and the phone service passes the D-Bus
  • the interface sends the channel establishment successful notification message to the Linux phone application program, and the phone application program displays the voice call interface, prompting the user that the voice call is ready.
  • the command data of the call-out operation command is sent to the phone service of the Linux framework layer through the Linux phone application program; the audio data transmission channel is opened through the phone service, and the command data is sent through the phone service To the Android modem HAL; send the command data to the modem through the Android modem HAL, so that the modem can establish a voice channel according to the command data, so that the Linux operating system can support the voice call service.
  • the Linux telephone application program will end the telephone operation instruction to complete the voice call service through the above process when ending the telephone call.
  • FIG. 4 is a schematic diagram of an apparatus for establishing a voice channel in an embodiment of the present disclosure. As shown in Figure 4, the device may include:
  • the first sending module 401 is used to send the instruction data to the telephone service of the framework layer of the first operating system through the telephone application program of the first operating system in response to the call-out operation instruction;
  • the second sending module 402 is configured to open an audio data transmission channel through the telephone service, and send the instruction data to the modem hardware abstraction layer of the second operating system through the telephone service;
  • the third sending module 403 is configured to send the instruction data to the modem through the modem hardware abstraction layer, so that the modem establishes a voice channel according to the instruction data.
  • the voice channel establishment device sends the command data of the call-out operation command to the telephone service of the framework layer of the first operating system through the telephone application program of the first operating system; opens the audio data transmission channel through the telephone service, And send the instruction data to the modem hardware abstraction layer of the second operating system through the telephone service; send the instruction data to the modem through the modem hardware abstraction layer, so that the modem establishes a voice channel according to the instruction data, thereby realizing the first operation
  • the system supports voice call service.
  • the first sending module 401 is configured to:
  • the second sending module 402 is configured to:
  • the instruction data is encoded to obtain the encoded instruction data
  • the encoded command data is sent to the modem hardware abstraction layer via the telephony service.
  • the device further includes a fourth sending module, configured to:
  • the channel establishment success notification message is sent to the telephone application program of the first operating system through the modem.
  • the fourth sending module is specifically configured to:
  • the channel establishment success notification message is sent to the phone application program of the first operating system through the phone service.
  • the second sending module 402 opens the audio data transmission channel through the telephone service, it is used to:
  • the device further includes a channel establishment module, configured to:
  • the audio data transmission channel is established in advance through the framework layer of the first operating system or the framework layer of the second operating system.
  • the present disclosure also provides an electronic device, a readable storage medium, a computer program product and a computer program.
  • FIG. 5 shows a schematic block diagram of an example electronic device 500 that may be used to implement embodiments of the present disclosure.
  • Electronic device is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers.
  • Electronic devices may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smart phones, wearable devices, and other similar computing devices.
  • the components shown herein, their connections and relationships, and their functions, are by way of example only, and are not intended to limit implementations of the disclosure described and/or claimed herein.
  • the electronic device 500 includes a computing unit 501, which can be loaded into a random access memory (RAM, Random Access) according to a computer program stored in a read-only memory (ROM, Read-Only Memory) 502 or from a storage unit 508.
  • RAM random access memory
  • ROM Read-Only Memory
  • Memory Memory
  • the computing unit 501, ROM 502, and RAM 503 are connected to each other through a bus 504.
  • An input/output (I/O, Input/Output) interface 505 is also connected to the bus 504 .
  • the I/O interface 505 includes: an input unit 506, such as a keyboard, a mouse, etc.; an output unit 507, such as various types of displays, speakers, etc.; a storage unit 508, such as a magnetic disk, an optical disk etc.; and a communication unit 509, such as a network card, a modem, a wireless communication transceiver, and the like.
  • the communication unit 509 allows the electronic device 500 to exchange information/data with other devices through a computer network such as the Internet and/or various telecommunication networks.
  • the computing unit 501 may be various general-purpose and/or special-purpose processing components having processing and computing capabilities. Some examples of the computing unit 501 include but are not limited to a central processing unit (CPU, Central Processing Unit), a graphics processing unit (GPU, Graphic Processing Unit), various dedicated artificial intelligence (AI, Artificial Intelligence) computing chips, various operating Computational units of machine learning model algorithms, digital signal processors (DSP, Digital Signal Processing), and any appropriate processors, controllers, microcontrollers, etc.
  • the calculation unit 501 executes various methods and processes described above, such as a voice channel establishment method.
  • the voice channel establishment method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as storage unit 508 .
  • part or all of the computer program can be loaded and/or installed on the electronic device 500 via the ROM 502 and/or the communication unit 509.
  • the computer program is loaded into the RAM 503 and executed by the computing unit 501, one or more steps of the voice channel establishment method described above can be performed.
  • the computing unit 501 may be configured in any other appropriate way (for example, by means of firmware) to execute the voice channel establishment method.
  • programmable processor can be special-purpose or general-purpose programmable processor, can receive data and instruction from storage system, at least one input device, and at least one output device, and transmit data and instruction to this storage system, this at least one input device, and this at least one output device an output device.
  • Program codes for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special purpose computer, or other programmable data processing devices, so that the program codes, when executed by the processor or controller, make the functions/functions specified in the flow diagrams and/or block diagrams Action is implemented.
  • the program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
  • a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device.
  • a machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium.
  • a machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing.
  • machine-readable storage media would include one or more wire-based electrical connections, portable computer discs, hard drives, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM, Electrical Programmable ROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM, Compact disc ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
  • the systems and techniques described herein can be implemented on a computer having a display device (e.g., a cathode ray tube (CRT, Cathode Ray Tube) or a liquid crystal display (LCD) for displaying information to the user. LCD, Liquid Crystal Display) monitor); and a keyboard and pointing device (such as a mouse or trackball) through which the user can provide input to the computer.
  • a display device e.g., a cathode ray tube (CRT, Cathode Ray Tube) or a liquid crystal display (LCD) monitor
  • LCD Liquid Crystal Display
  • keyboard and pointing device such as a mouse or trackball
  • Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and can be in any form (including Input from the user may be received through acoustic input, voice input, or tactile input.
  • the systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., as a a user computer having a graphical user interface or web browser through which a user can interact with embodiments of the systems and techniques described herein), or including such backend components, middleware components, Or any combination of front-end components in a computing system.
  • the components of the system can be interconnected by any form or medium of digital data communication, eg, a communication network. Examples of communication networks include: Local Area Network (LAN, Local Area Network), Wide Area Network (WAN, Wide Area Network) and the Internet.
  • a computer system may include clients and servers.
  • Clients and servers are generally remote from each other and typically interact through a communication network.
  • the relationship of client and server arises by computer programs running on the respective computers and having a client-server relationship to each other.

Abstract

The present disclosure relates to the field of computing technology, and provided therein are a method and apparatus for establishing a voice channel, an electronic device, a storage medium, a computer program product, and a computer program. The method comprises: sending instruction data of a telephone call operation instruction to a telephony service of a framework layer of a first operating system by means of a telephony application program of the first operating system; enabling an audio data transmission channel by means of the telephony service, and sending the instruction data to a modulation-demodulation hardware abstraction layer of a second operating system by means of the telephony service; and sending the instruction data to a modulator-demodulator by means of the modulation-demodulation hardware abstraction layer, so as to cause the modulator-demodulator to establish a voice channel according to the instruction data, and thereby implementing support of a voice call service by the first operating system.

Description

语音通道建立方法、装置、电子设备及存储介质Voice channel establishment method, device, electronic equipment and storage medium
相关申请的交叉引用Cross References to Related Applications
本公开要求于2021年09月26日提交的申请号为2021111280345、名称为“语音通道建立方法、装置、电子设备及存储介质”的中国专利申请的优先权,此申请的内容通过引用并入本文。This disclosure claims the priority of the Chinese patent application with application number 2021111280345 and titled "Voice Channel Establishment Method, Device, Electronic Equipment, and Storage Medium" filed on September 26, 2021, the contents of which are incorporated herein by reference .
技术领域technical field
本公开涉及计算机技术领域,尤其涉及一种语音通道建立方法、装置、电子设备、存储介质、计算机程序产品及计算机程序。The present disclosure relates to the field of computer technology, and in particular to a voice channel establishment method, device, electronic equipment, storage medium, computer program product and computer program.
背景技术Background technique
目前,支持语音通话业务的主流操作系统是Android和IOS,Linux操作系统虽然在支持文本编辑、浏览网页、播放音视频等业务方面有较多应用,但是在对语音通话业务方面的支持却并不多,没有成熟的实现方案。At present, the mainstream operating systems that support voice call services are Android and IOS. Although the Linux operating system has many applications in supporting text editing, web browsing, and playing audio and video services, it does not support voice call services. Many, there is no mature implementation plan.
发明内容Contents of the invention
本公开提供了一种语音通道建立方法、装置、电子设备、存储介质、计算机程序产品及计算机程序。The disclosure provides a voice channel establishment method, device, electronic equipment, storage medium, computer program product and computer program.
第一方面,本公开提供了一种语音通道建立方法,该方法包括:In a first aspect, the present disclosure provides a method for establishing a voice channel, the method including:
响应于电话呼出操作指令,通过第一操作系统的电话应用程序将指令数据发送至第一操作系统的框架层的电话服务;In response to the telephone call-out operation instruction, the instruction data is sent to the telephone service of the framework layer of the first operating system through the telephone application program of the first operating system;
通过电话服务开启音频数据传输通道,并通过电话服务将指令数据发送至第二操作系统的调制解调硬件抽象层;Open the audio data transmission channel through the telephone service, and send the instruction data to the modem hardware abstraction layer of the second operating system through the telephone service;
通过调制解调硬件抽象层将指令数据发送至调制解调器,以使调制解调器根据指令数据建立语音通道。The instruction data is sent to the modem through the modem hardware abstraction layer, so that the modem establishes a voice channel according to the instruction data.
第二方面,本公开提供了一种语音通道建立装置,该装置包括:In a second aspect, the present disclosure provides an apparatus for establishing a voice channel, which includes:
第一发送模块,用于响应于电话呼出操作指令,通过第一操作系统的电话应用程序将指令数据发送至第一操作系统的框架层的电话服务;The first sending module is used to send the instruction data to the telephone service of the frame layer of the first operating system through the telephone application program of the first operating system in response to the call-out operation instruction of the telephone;
第二发送模块,用于通过电话服务开启音频数据传输通道,并通过电话服务将指令数据发送至第二操作系统的调制解调硬件抽象层;The second sending module is used to open the audio data transmission channel through the telephone service, and send the instruction data to the modem hardware abstraction layer of the second operating system through the telephone service;
第三发送模块,用于通过调制解调硬件抽象层将指令数据发送至调制解调器,以使调制解调器根据指令数据建立语音通道。The third sending module is configured to send the instruction data to the modem through the modem hardware abstraction layer, so that the modem establishes a voice channel according to the instruction data.
第三方面,本公开提供了一种电子设备,包括:In a third aspect, the present disclosure provides an electronic device, including:
至少一个处理器;以及at least one processor; and
与该至少一个处理器通信连接的存储器;其中,a memory communicatively coupled to the at least one processor; wherein,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任一实施例中的方法。The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor, so that the at least one processor can execute the method in any embodiment of the present disclosure.
第四方面,申请的提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指 令用于使计算机执行本公开任一实施例中的方法。In a fourth aspect, the application provides a non-transitory computer-readable storage medium storing computer instructions, the computer instructions are used to make a computer execute the method in any embodiment of the present disclosure.
第五方面,本公开提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本公开任一实施例中的方法。In a fifth aspect, the present disclosure provides a computer program product, including a computer program. When the computer program is executed by a processor, the method in any embodiment of the present disclosure is implemented.
第六方面,本公开提供了一种计算机程序,该计算机程序被处理器执行时实现本公开任一实施例中的方法。In a sixth aspect, the present disclosure provides a computer program, which implements the method in any embodiment of the present disclosure when the computer program is executed by a processor.
本公开提供的一种语音通道建立方法、装置、电子设备、存储介质、计算机程序产品及计算机程序,通过第一操作系统的电话应用程序将电话呼出操作指令的指令数据发送至第一操作系统的框架层的电话服务;通过电话服务开启音频数据传输通道,并通过电话服务将指令数据发送至第二操作系统的调制解调硬件抽象层;通过调制解调硬件抽象层将指令数据发送至调制解调器,以使调制解调器根据指令数据建立语音通道,从而实现第一操作系统支持语音通话业务。The present disclosure provides a voice channel establishment method, device, electronic equipment, storage medium, computer program product, and computer program. The instruction data of the call-out operation instruction is sent to the first operating system through the telephone application program of the first operating system. The telephone service of the framework layer; open the audio data transmission channel through the telephone service, and send the instruction data to the modem hardware abstraction layer of the second operating system through the telephone service; send the instruction data to the modem through the modem hardware abstraction layer, The modem is configured to establish a voice channel according to the command data, so that the first operating system supports voice communication services.
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。It should be understood that what is described in this section is not intended to identify key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will be readily understood through the following description.
附图说明Description of drawings
附图用于更好地理解本方案,不构成对本公开的限定。其中:The accompanying drawings are used to better understand the present solution, and do not constitute a limitation to the present disclosure. in:
图1为本公开一实施例中语音通道建立方法的流程图;FIG. 1 is a flowchart of a method for establishing a voice channel in an embodiment of the present disclosure;
图2为本公开一实施例中语音通道建立方法的流程图;FIG. 2 is a flow chart of a method for establishing a voice channel in an embodiment of the present disclosure;
图3为本公开一实施例中语音通道建立方法的示意图;3 is a schematic diagram of a voice channel establishment method in an embodiment of the present disclosure;
图4为本公开一实施例中语音通道建立装置的示意图;4 is a schematic diagram of an apparatus for establishing a voice channel in an embodiment of the present disclosure;
图5是用来实现本公开实施例的语音通道建立方法的电子设备的框图。Fig. 5 is a block diagram of an electronic device used to implement the method for establishing a voice channel according to an embodiment of the present disclosure.
具体实施方式Detailed ways
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。Exemplary embodiments of the present disclosure are described below in conjunction with the accompanying drawings, which include various details of the embodiments of the present disclosure to facilitate understanding, and they should be regarded as exemplary only. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
通常如手机、平板电脑等移动设备硬件架构由两个处理器组成,一个处理器用来运行操作系统,上面运行应用程序,该处理器称作应用程序处理器(Application Processor,AP);另一个处理器运行2G、3G、4G、5G协议栈程序,实现射频无线通信相关的功能,称作基带处理器(Baseband Processor,BP)。以Android操作系统为例,操作系统和应用程序运行在AP上,通过与BP中的调制解调器之间的命令交互,实现语音通话功能的业务逻辑。Generally, the hardware architecture of mobile devices such as mobile phones and tablet computers is composed of two processors. One processor is used to run the operating system on which the application program is run. This processor is called the Application Processor (Application Processor, AP); The device runs 2G, 3G, 4G, 5G protocol stack programs to realize functions related to radio frequency wireless communication, which is called baseband processor (Baseband Processor, BP). Taking the Android operating system as an example, the operating system and applications run on the AP, and realize the business logic of the voice call function through command interaction with the modem in the BP.
操作系统需要依靠调制解调器的驱动实现与调制解调器的命令交互,但Modem厂商通常不提供BP在Linux操作系统下的支持,导致Linux操作系统无法实现与调制解调器之间的数据通信,无法支持语音通话业务。The operating system needs to rely on the modem driver to realize command interaction with the modem, but Modem manufacturers usually do not provide BP support under the Linux operating system, resulting in the inability of the Linux operating system to realize data communication with the modem and cannot support voice call services.
在下述实施例中,申请人以Linux操作系统调用Android操作系统的Modem驱动为例说明了本发明实施例要解决的技术问题。本领域技术人员能够理解,类似的应用场景,只要是以共享操作系统内核实现的容器化的操作系统实现的跨系统的驱动调用都适用于本发明实施例的方法。In the following embodiments, the applicant illustrates the technical problems to be solved by the embodiments of the present invention by taking the Linux operating system calling the Modem driver of the Android operating system as an example. Those skilled in the art can understand that in similar application scenarios, as long as the cross-system driver call implemented by the containerized operating system implemented by sharing the operating system kernel is applicable to the method of the embodiment of the present invention.
例如,作为宿主的第一操作系统和部署在第一操作系统中的第二操作系统是共享Linux内核,通过LXC、容器化等技术实现。For example, the first operating system serving as the host and the second operating system deployed in the first operating system share a Linux kernel, which is realized by technologies such as LXC and containerization.
例如,第一操作系统可以是GNU/Linux发行版,如Ubuntu、Debian、RedHat等。需要说明的是,第一操作系统并不限定是运行在物理机上的,也可以是托管在其它操作系统上的操作系统,例如Windows系统中的WSL。For example, the first operating system may be a GNU/Linux distribution, such as Ubuntu, Debian, RedHat, etc. It should be noted that the first operating system is not limited to running on a physical machine, and may also be an operating system hosted on another operating system, such as WSL in a Windows system.
例如,第二操作系统可以是Android(安卓)操作系统,涵盖Google发行的Android OS以及AOSP和基于AOSP的各种衍生系统,如MIUI、EMUI、One UI等。For example, the second operating system may be an Android (Android) operating system, covering Android OS issued by Google, AOSP and various derivative systems based on AOSP, such as MIUI, EMUI, One UI, etc.
如本领域技术人员所知,还存在多种其它的基于Linux Kernel的用于手机等设备上原生支持调制解调器Modem的移动操作系统,如Tizen、鸿蒙、Meego等作为第二操作系统的示例,同样适用于本发明实施例的技术方案。As known to those skilled in the art, there are many other mobile operating systems based on Linux Kernel that are used for mobile phones and other devices that natively support modems, such as Tizen, Hongmeng, Meego, etc., as examples of the second operating system, which are also applicable In the technical scheme of the embodiment of the present invention.
在下述实施例中,硬件抽象层HAL是对操作系统内核驱动程序的封装,向上对各种应用层需求提供硬件访问接口,向下屏蔽底层硬件的驱动实现细节。In the following embodiments, the hardware abstraction layer HAL encapsulates the operating system kernel driver, provides hardware access interfaces for various application layer requirements upwards, and shields the driver implementation details of the underlying hardware downwards.
在下述实施例中,硬件抽象层接口描述语言,又称硬件抽象层接口定义语言,是用来描述软件组件接口的语言规范,使软件组件(不同语言编写的)间相互通信。在Android系统中,硬件抽象层接口描述语言为HIDL,定义了Android Framework与Android HAL实现之间的接口;在Tizen系统中,硬件抽象层接口描述语言为OAL Interface IDL定义了native subsystems与Hardware Adaptation Layer实现之间的接口;其它系统的IDL可对应从相应系统的架构手册中查询。In the following embodiments, the hardware abstraction layer interface description language, also known as the hardware abstraction layer interface definition language, is a language specification used to describe software component interfaces, so that software components (written in different languages) communicate with each other. In the Android system, the hardware abstraction layer interface description language is HIDL, which defines the interface between the Android Framework and the Android HAL implementation; in the Tizen system, the hardware abstraction layer interface description language defines native subsystems and Hardware Adaptation Layer for the OAL Interface IDL The interface between implementations; the IDL of other systems can be queried from the architecture manual of the corresponding system.
本公开的执行主体可以是任一电子设备,例如,终端设备,包括但不限于用户设备(UE,User Equipment)、移动设备、蜂窝电话、无绳电话、个人数字助理(PDA,Personal Digital Assistant)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。The executive subject of the present disclosure may be any electronic device, such as a terminal device, including but not limited to user equipment (UE, User Equipment), mobile device, cellular phone, cordless phone, personal digital assistant (PDA, Personal Digital Assistant), Handheld devices, computing devices, in-vehicle devices, wearable devices, etc. In some possible implementation manners, the method may also be implemented in a manner in which the processor invokes computer-readable instructions stored in the memory.
本公开技术方案可以应用于电子设备,电子设备包括第一操作系统和与第一操作系统共享内核并部署在第一操作系统中的第二操作系统,在一些实施例中,第一操作系统为Linux操作系统,第二操作系统为Android操作系统。Linux操作系统通过调用安卓下的调制解调硬件抽象层(Android Modem Hardware Abstract Layer,Android Modem HAL)实现Linux操作系统和Android操作系统的通信,进而实现Linux操作系统和调制解调器的通信。The technical solution of the present disclosure can be applied to electronic equipment, and the electronic equipment includes a first operating system and a second operating system that shares a kernel with the first operating system and is deployed in the first operating system. In some embodiments, the first operating system is Linux operating system, and the second operating system is Android operating system. The Linux operating system realizes the communication between the Linux operating system and the Android operating system by calling the Modem Hardware Abstract Layer (Android Modem Hardware Abstract Layer, Android Modem HAL) under Android, and then realizes the communication between the Linux operating system and the modem.
在一种可能的实现方式中,Linux操作系统调用Android操作系统的Modem HAL的具体过程包括:In a possible implementation, the specific process of the Linux operating system calling the Modem HAL of the Android operating system includes:
通过系统进程间通信方式Hwbinder服务将数据从Linux操作系统发送至Android操作系统的Modem HAL。在使用Hwbinder服务之前,需要预先进行注册。预先将Linux操作系统的传输通道进程注册为Hwbinder服务的客户端(client),预先将Android Modem HAL注册为Hwbinder服务的服务端(server)。注册完成之后,可以通过Hwbinder服务实现Linux操作系统的传输通道进程和Android Modem HAL的通信。The Hwbinder service sends data from the Linux operating system to the Modem HAL of the Android operating system through the system inter-process communication method. Before using the Hwbinder service, pre-registration is required. Pre-register the transmission channel process of the Linux operating system as the client (client) of the Hwbinder service, and pre-register the Android Modem HAL as the server (server) of the Hwbinder service. After the registration is completed, the communication between the transmission channel process of the Linux operating system and the Android Modem HAL can be realized through the Hwbinder service.
其中,预先将Linux操作系统的传输通道进程注册为Hwbinder服务的客户端,包括:利用第一对象创建函数创建客户端的第一对象;利用第一对象注册函数将第一对象注册到Hwbinder服务中;配置第一对象调用函数,第一对象调用函数用于调用第一对象以实现编码后的指令数据的传输。其中,第一对象创建函数可以是gbinder_client_new;第一对象注册函数可以是gbinder_client_ipc;第一对象调用函数可以是gbinder_client_transact。Wherein, pre-registering the transmission channel process of the Linux operating system as the client of the Hwbinder service includes: utilizing the first object creation function to create a first object of the client; utilizing the first object registration function to register the first object into the Hwbinder service; The first object calling function is configured, and the first object calling function is used to call the first object to realize the transmission of encoded instruction data. Wherein, the first object creation function may be gbinder_client_new; the first object registration function may be gbinder_client_ipc; the first object calling function may be gbinder_client_transact.
其中,预先将Android Modem HAL注册为Hwbinder服务的服务端,包括:利用第二对象创建函数创建服务端的第二对象;利用第二对象注册函数将第二对象注册到Hwbinder服务中;配置第二对象调用函数,第二对象调用函数用于调用第二对象以实现编码后的指令数据的传输。其中,第二对象创建函数可以是gbinder_server_new;第二对象注册函数可以是gbinder_server_ipc; 第二对象调用函数可以是gbinder_server_transact。Wherein, the Android Modem HAL is pre-registered as the server of the Hwbinder service, including: using the second object creation function to create the second object of the server; using the second object registration function to register the second object in the Hwbinder service; configuring the second object The calling function, the second object calling function is used to call the second object to realize the transmission of encoded instruction data. Wherein, the second object creation function may be gbinder_server_new; the second object registration function may be gbinder_server_ipc; the second object calling function may be gbinder_server_transact.
本公开技术方案中,以Android操作系统为中转,实现Linux操作系统和调制解调器之间的通信,从而实现Linux操作系统支持语音通话业务。以下将详细介绍本公开实施例中的语音通道建立方法。In the disclosed technical solution, the Android operating system is used as a relay to realize the communication between the Linux operating system and the modem, so that the Linux operating system supports the voice call service. The voice channel establishment method in the embodiment of the present disclosure will be introduced in detail below.
图1为本公开一实施例中语音通道建立方法的示意图。如图1所示,该方法可以包括:FIG. 1 is a schematic diagram of a voice channel establishment method in an embodiment of the present disclosure. As shown in Figure 1, the method may include:
步骤S101,响应于电话呼出操作指令,通过第一操作系统的电话应用程序将指令数据发送至第一操作系统的框架层的电话服务;Step S101, in response to the call-out operation instruction, the instruction data is sent to the telephone service of the framework layer of the first operating system through the telephone application program of the first operating system;
以第一操作系统为Linux操作系统、第二操作系统为Android操作系统为例,用户拨打电话时,通过Linux操作系统中的电话应用程序的用户界面输入电话号码,点击呼出按钮,生成电话呼出事件,终端设备响应于用户输入的电话呼出操作指令,通过Linux电话应用程序将电话呼出操作指令的指令数据发送至Linux操作系统的框架层的电话服务Telephony。Taking the first operating system as the Linux operating system and the second operating system as the Android operating system as an example, when the user makes a call, he inputs the phone number through the user interface of the phone application program in the Linux operating system, clicks the call button, and generates a phone call event , the terminal device responds to the call-out operation command input by the user, and sends the command data of the call-out operation command to the telephony service Telephony of the framework layer of the Linux operating system through the Linux telephone application program.
步骤S102,通过电话服务开启音频数据传输通道,并通过电话服务将指令数据发送至第二操作系统的调制解调硬件抽象层;Step S102, open the audio data transmission channel through the telephone service, and send the instruction data to the modem hardware abstraction layer of the second operating system through the telephone service;
以第一操作系统为Linux操作系统、第二操作系统为Android操作系统为例,通过Linux框架层的电话服务调用Linux操作系统的音频设备,开启音频数据传输通道,用于进行音频数据的输入和输出。Taking the first operating system as the Linux operating system and the second operating system as the Android operating system as an example, call the audio equipment of the Linux operating system through the telephone service of the Linux framework layer, open the audio data transmission channel, and be used for inputting and recording audio data. output.
由于Linux操作系统不能直接和调制解调器通信,因此以Android modem HAL为中转,将指令数据发送至Android modem HAL的射频接口层Rild进程中,Rild进程是可以用于Android modem HAL和调制解调器进行通信的应用进程。Since the Linux operating system cannot directly communicate with the modem, the Android modem HAL is used as a relay to send the command data to the Rild process of the radio frequency interface layer of the Android modem HAL. The Rild process is an application process that can be used for communication between the Android modem HAL and the modem .
步骤S103,通过调制解调硬件抽象层将指令数据发送至调制解调器,以使调制解调器根据指令数据建立语音通道。Step S103, sending the instruction data to the modem through the modem hardware abstraction layer, so that the modem establishes a voice channel according to the instruction data.
可选的,以第一操作系统为Linux操作系统、第二操作系统为Android操作系统为例,通过Android modem HAL的Rild进程将指令数据发送至调制解调器,调制解调器根据指令数据建立语音通道。Optionally, taking the first operating system as the Linux operating system and the second operating system as the Android operating system as an example, the command data is sent to the modem through the Rild process of the Android modem HAL, and the modem establishes a voice channel according to the command data.
可选的,在建立语音通道时,调制解调器根据当前的网络状态,例如,2G、3G、4G、5G等,完成相应的移动网络的语音呼叫信令流程。Optionally, when establishing the voice channel, the modem completes the voice call signaling process of the corresponding mobile network according to the current network status, for example, 2G, 3G, 4G, 5G, etc.
本公开实施例提供的语音通道建立方法,通过第一操作系统的电话应用程序将电话呼出操作指令的指令数据发送至第一操作系统的框架层的电话服务;通过电话服务开启音频数据传输通道,并通过电话服务将指令数据发送至第二操作系统的调制解调硬件抽象层;通过调制解调硬件抽象层将指令数据发送至调制解调器,以使调制解调器根据指令数据建立语音通道,从而实现第一操作系统支持语音通话业务。In the voice channel establishment method provided by the embodiment of the present disclosure, the instruction data of the call-out operation command is sent to the telephone service of the frame layer of the first operating system through the telephone application program of the first operating system; the audio data transmission channel is opened through the telephone service, And send the instruction data to the modem hardware abstraction layer of the second operating system through the telephone service; send the instruction data to the modem through the modem hardware abstraction layer, so that the modem establishes a voice channel according to the instruction data, thereby realizing the first operation The system supports voice call service.
对于步骤S101的具体实现方式,见如下实施例。For the specific implementation manner of step S101, see the following embodiments.
在一种可能的实现方式中,通过第一操作系统的电话应用程序将指令数据发送至第一操作系统的框架层的电话服务,包括:In a possible implementation, the instruction data is sent to the telephony service of the framework layer of the first operating system through the telephony application program of the first operating system, including:
通过第一操作系统的电话应用程序调用电话服务的语音呼叫管理模块的数据总线接口,将指令数据发送至第一操作系统的框架层的电话服务。The data bus interface of the voice call management module of the telephone service is invoked by the telephone application program of the first operating system, and the instruction data is sent to the telephone service of the frame layer of the first operating system.
以第一操作系统为Linux操作系统、第二操作系统为Android操作系统为例,可以通过Linux电话应用程序调用电话服务的语音呼叫管理模块VoiceCallManager的总线(如D-Bus等)接口,将指令数据发送至Linux框架层的电话服务。Taking the first operating system as the Linux operating system and the second operating system as the Android operating system as an example, the bus (such as D-Bus, etc.) Telephony services sent to the Linux framework layer.
本公开实施例中,采用数据总线接口进行数据发送,可以实现低延迟、低开销、高可用性。In the embodiments of the present disclosure, the data bus interface is used for data transmission, which can realize low delay, low overhead, and high availability.
对于步骤S102的具体实现方式,见如下实施例。For the specific implementation manner of step S102, refer to the following embodiments.
在一种可能的实现方式中,通过电话服务将指令数据发送至第二操作系统的调制解调硬件抽象层,包括:In a possible implementation, the instruction data is sent to the modem hardware abstraction layer of the second operating system through the telephony service, including:
通过电话服务根据硬件抽象层接口描述语言(如Android的HAL Interface Description Language,HIDL)规则,对指令数据进行编码,得到编码后的指令数据;Through the telephone service, the instruction data is encoded according to the hardware abstraction layer interface description language (such as Android's HAL Interface Description Language, HIDL) rules, and the encoded instruction data is obtained;
通过电话服务将编码后的指令数据发送至调制解调硬件抽象层。The encoded command data is sent to the modem hardware abstraction layer via the telephony service.
其中,HIDL规则是用于指定HAL与其用户之间接口的接口描述语言,可以将指定的类型与函数调用收集到接口(Interface)和包(Package)中。可选的,HIDL可以将指定的数据结构与方法签名组织到接口中,这些接口会被收集到包中以供使用。Among them, the HIDL rule is an interface description language used to specify the interface between the HAL and its users, and the specified types and function calls can be collected into interfaces (Interface) and packages (Package). Optionally, HIDL can organize specified data structures and method signatures into interfaces, and these interfaces will be collected into packages for use.
采用HIDL规则,可以把框架(framework)与HAL进行隔离,使得框架部分可以直接被覆盖、更新,而不需要重新对HAL进行编译。By adopting HIDL rules, the framework (framework) can be isolated from the HAL, so that the framework part can be directly overwritten and updated without recompiling the HAL.
在一种可能的实现方式中,该语音通道建立方法还包括:In a possible implementation, the voice channel establishment method also includes:
在语音通道建立完成的情况下,通过调制解调器将通道建立成功通知消息发送至第一操作系统的电话应用程序。When the voice channel is established, the channel establishment success notification message is sent to the telephone application program of the first operating system through the modem.
在实际应用中,调制解调器完成移动网络的语音呼叫信令流程之后,语音通道建立完成,也就是说,终端设备和基站之间的语音数据传输信道建立完成,则通过调制解调器将通道建立成功通知消息发送至第一操作系统的电话应用程序,电话应用程序显示语音通话界面,此时用户就可以进行语音通话了。In practical applications, after the modem completes the voice call signaling process of the mobile network, the voice channel is established. To the phone application program of the first operating system, the phone application program displays a voice call interface, and the user can now make a voice call.
其中,通过调制解调器将通道建立成功通知消息发送至第一操作系统的电话应用程序的具体实现方式,见如下实施例:Wherein, the specific implementation manner of sending the channel establishment success notification message to the telephone application program of the first operating system through the modem is as follows:
在一种可能的实现方式中,通过调制解调器将通道建立成功通知消息发送至第一操作系统的电话应用程序,包括:In a possible implementation manner, the channel establishment success notification message is sent to the phone application program of the first operating system through the modem, including:
通过调制解调器将通道建立成功通知消息发送至调制解调硬件抽象层;Send the channel establishment success notification message to the modem hardware abstraction layer through the modem;
通过调制解调硬件抽象层将通道建立成功通知消息发送至电话服务;Send the channel establishment success notification message to the telephony service through the modem hardware abstraction layer;
通过电话服务将通道建立成功通知消息发送至第一操作系统的电话应用程序。The channel establishment success notification message is sent to the phone application program of the first operating system through the phone service.
以第一操作系统为Linux操作系统、第二操作系统为Android操作系统为例,通过调制解调器将通道建立成功通知消息发送至Android modem HAL,通过Android modem HAL将通道建立成功通知消息发送至电话服务的VoiceCallManager,VoiceCallManager通过总线接口将通道建立成功通知消息发送至Linux电话应用程序,电话应用程序显示语音通话界面,提示用户可以进行语音通话。Taking the first operating system as the Linux operating system and the second operating system as the Android operating system as an example, the channel establishment success notification message is sent to the Android modem HAL through the modem, and the channel establishment success notification message is sent to the telephone service through the Android modem HAL VoiceCallManager, VoiceCallManager sends the channel establishment success notification message to the Linux phone application program through the bus interface, and the phone application program displays the voice call interface, prompting the user to make a voice call.
在一种可能的实现方式中,通过电话服务开启音频数据传输通道,包括:In a possible implementation manner, opening an audio data transmission channel through a telephone service includes:
通过电话服务调用音频设备接口,实现开启音频数据传输通道。Call the audio device interface through the telephone service to realize the opening of the audio data transmission channel.
在实际应用中,可以通过电话服务调用音频设备接口的方式开启音频数据传输通道。其中,该音频数据传输通道为终端设备内部各层之间进行音频数据传输的通道。In practical applications, the audio data transmission channel can be opened by calling the audio device interface through the telephone service. Wherein, the audio data transmission channel is a channel for transmitting audio data between layers inside the terminal device.
在一种可能的实现方式中,该语音通道建立方法还包括:In a possible implementation, the voice channel establishment method also includes:
预先通过第一操作系统的框架层或第二操作系统的框架层建立音频数据传输通道。The audio data transmission channel is established in advance through the framework layer of the first operating system or the framework layer of the second operating system.
以第一操作系统为Linux操作系统、第二操作系统为Android操作系统为例,可以通过Linux框架层或Android框架层建立音频数据传输通道。如果通过Linux框架层建立音频数据传输通道,则通过Linux框架层的电话服务调用Linux操作系统的音频设备,开启音频数据传输通道。如果通过Android框架层建立音频数据传输通道,则通过Android框架层的电话服务调用Android操 作系统的音频设备,开启音频数据传输通道。Taking the first operating system as the Linux operating system and the second operating system as the Android operating system as an example, the audio data transmission channel can be established through the Linux framework layer or the Android framework layer. If the audio data transmission channel is established through the Linux framework layer, the audio device of the Linux operating system is invoked through the telephone service of the Linux framework layer to open the audio data transmission channel. If the audio data transmission channel is set up by the Android framework layer, then the audio equipment of the Android operating system is called by the telephone service of the Android framework layer, and the audio data transmission channel is opened.
下面通过一个具体的实施例来介绍本公开中的语音通道建立方法的实现过程。图2为本公开一实施例中语音通道建立方法的流程图,其中第一操作系统为Linux操作系统、第二操作系统为Android操作系统。The implementation process of the voice channel establishment method in the present disclosure is introduced below through a specific embodiment. Fig. 2 is a flowchart of a voice channel establishment method in an embodiment of the present disclosure, wherein the first operating system is a Linux operating system, and the second operating system is an Android operating system.
如图2所示,本实施例中的方法包括:As shown in Figure 2, the method in this embodiment includes:
步骤S201,响应于电话呼出操作指令,通过Linux电话应用程序将指令数据发送至Linux框架层的电话服务;Step S201, in response to the call-out operation instruction, send the instruction data to the telephone service of the Linux framework layer through the Linux telephone application program;
用户拨打电话时,通过Linux电话应用程序的用户界面输入电话号码,点击呼出按钮,生成电话呼出事件,终端设备响应于用户输入的电话呼出操作指令,通过Linux电话应用程序将电话呼出操作指令的指令数据发送至Linux框架层的电话服务Telephony。When the user makes a call, he enters the phone number through the user interface of the Linux phone application program, clicks the call-out button, and generates a call-out event. The terminal device responds to the call-out operation command input by the user, and sends the call out through the Linux phone application program. The data is sent to the telephony service Telephony of the Linux framework layer.
步骤S202,通过电话服务开启音频数据传输通道,并通过电话服务将指令数据发送至Android modem HAL;Step S202, open the audio data transmission channel through the telephone service, and send the command data to the Android modem HAL through the telephone service;
通过Linux框架层的电话服务调用Linux操作系统的音频设备,开启音频数据传输通道,用于进行音频数据的输入和输出。The audio device of the Linux operating system is invoked through the telephone service of the Linux framework layer, and the audio data transmission channel is opened for input and output of audio data.
另外,由于Linux操作系统不能直接和调制解调器通信,因此以Android modem HAL为中转,将指令数据发送至Android modem HAL的射频接口层Rild进程中,Rild进程是可以用于Android modem HAL和调制解调器进行通信的应用进程。In addition, since the Linux operating system cannot directly communicate with the modem, the Android modem HAL is used as a relay to send the command data to the Rild process of the radio frequency interface layer of the Android modem HAL. The Rild process can be used for communication between the Android modem HAL and the modem. application process.
步骤S203,通过Android modem HAL将指令数据发送至调制解调器,以使调制解调器根据指令数据建立语音通道;Step S203, sending the instruction data to the modem through the Android modem HAL, so that the modem establishes a voice channel according to the instruction data;
可选的,通过Android modem HAL的Rild进程将指令数据发送至调制解调器,调制解调器根据指令数据建立语音通道。Optionally, the command data is sent to the modem through the Rild process of the Android modem HAL, and the modem establishes a voice channel according to the command data.
可选的,在建立语音通道时,调制解调器根据当前的网络状态,例如,2G、3G、4G、5G,完成相应的移动网络的语音呼叫信令流程。Optionally, when establishing the voice channel, the modem completes the voice call signaling process of the corresponding mobile network according to the current network status, for example, 2G, 3G, 4G, 5G.
步骤S204,在语音通道建立完成的情况下,通过调制解调器将通道建立成功通知消息发送至Android modem HAL;Step S204, when the voice channel is established, send the channel establishment success notification message to the Android modem HAL through the modem;
在实际应用中,调制解调器完成移动网络的语音呼叫信令流程之后,语音通道建立完成,也就是说,终端设备和基站之间的语音数据传输信道建立完成,则通过调制解调器将通道建立成功通知消息发送至Linux电话应用程序,首先需要将通道建立成功通知消息发送至Android modem HAL。In practical applications, after the modem completes the voice call signaling process of the mobile network, the voice channel is established. To the Linux phone application, it is first necessary to send a channel establishment successful notification message to the Android modem HAL.
步骤S205,通过Android modem HAL将通道建立成功通知消息发送至电话服务;Step S205, sending a channel establishment successful notification message to the phone service through the Android modem HAL;
具体的,通过Android modem HAL将通道建立成功通知消息发送至电话服务的VoiceCallManager。Specifically, the channel establishment success notification message is sent to the VoiceCallManager of the telephony service through the Android modem HAL.
步骤S206,通过电话服务将通道建立成功通知消息发送至Linux电话应用程序。In step S206, the channel establishment success notification message is sent to the Linux phone application program through the phone service.
具体的,电话服务的VoiceCallManager通过D-Bus接口将通道建立成功通知消息发送至Linux电话应用程序,电话应用程序显示语音通话界面,提示用户可以进行语音通话了。Specifically, the VoiceCallManager of the telephone service sends a channel establishment successful notification message to the Linux telephone application program through the D-Bus interface, and the telephone application program displays a voice call interface, prompting the user that the voice call can be made.
下面通过一个具体的实施例来介绍本公开中的语音通道建立方法的实现过程。图3为本公开一实施例中语音通道建立方法的示意图。如图3所示,本实施例中,终端设备的硬件架构由两个处理器组成,一个处理器用来运行操作系统,上面运行应用程序,该处理器称作应用程序处理器(Application Processor,AP);另一个处理器运行2G、3G、4G、5G协议栈程序,实现射频无线通信相关的功能,称作基带处理器(Baseband Processor,BP)。Android操作系统和Linux操作 系统,两个操作系统均运行在AP上,以Android操作系统为中转,实现Linux操作系统和BP中的调制解调器之间的通信。The implementation process of the voice channel establishment method in the present disclosure is introduced below through a specific embodiment. FIG. 3 is a schematic diagram of a voice channel establishment method in an embodiment of the present disclosure. As shown in Figure 3, in this embodiment, the hardware architecture of the terminal device is composed of two processors, one processor is used to run the operating system, and the application program is run on it, and the processor is called an application processor (Application Processor, AP ); another processor runs 2G, 3G, 4G, 5G protocol stack programs to realize functions related to radio frequency wireless communication, which is called a baseband processor (Baseband Processor, BP). The Android operating system and the Linux operating system, both operating systems run on the AP, and the Android operating system is used as a relay to realize the communication between the Linux operating system and the modem in the BP.
具体的,用户拨打电话时,通过Linux电话应用程序的用户界面输入电话号码,点击呼出按钮,生成电话呼出事件,终端设备响应于用户输入的电话呼出操作指令,通过Linux电话应用程序调用Linux框架层的电话服务的数据总线D-Bus接口,将指令数据发送至电话服务。电话服务根据HIDL规则,对指令数据进行编码,得到编码后的指令数据;将编码后的指令数据发送至安卓调制解调硬件抽象层Android modem HAL的射频接口层Rild进程,通过Android modem HAL的Rild进程将指令数据发送至调制解调器,调制解调器根据指令数据建立语音通道。在建立语音通道时,调制解调器根据2G、3G、4G、5G相应的协议栈程序,完成移动网络的语音呼叫信令流程。在语音通道建立完成的情况下,通过调制解调器将通道建立成功通知消息发送至Android modem HAL的Rild进程,通过Android modem HAL的Rild进程将通道建立成功通知消息发送至电话服务,电话服务通过D-Bus接口将通道建立成功通知消息发送至Linux电话应用程序,电话应用程序显示语音通话界面,提示用户可以进行语音通话了。Specifically, when the user makes a call, he inputs the phone number through the user interface of the Linux phone application program, clicks the call-out button, and generates a call-out event, and the terminal device responds to the call-out operation instruction input by the user, and calls the Linux framework layer through the Linux phone application program. The data bus D-Bus interface of the telephony service sends the command data to the telephony service. The telephone service encodes the instruction data according to the HIDL rules to obtain the encoded instruction data; sends the encoded instruction data to the Rild process of the radio frequency interface layer of the Android modem HAL abstraction layer of the Android modem HAL, through the Rild of the Android modem HAL The process sends the instruction data to the modem, and the modem establishes a voice channel according to the instruction data. When establishing a voice channel, the modem completes the voice call signaling process of the mobile network according to the corresponding protocol stack procedures of 2G, 3G, 4G, and 5G. When the voice channel is established, the channel establishment success notification message is sent to the Rild process of the Android modem HAL through the modem, and the channel establishment success notification message is sent to the phone service through the Rild process of the Android modem HAL, and the phone service passes the D-Bus The interface sends the channel establishment successful notification message to the Linux phone application program, and the phone application program displays the voice call interface, prompting the user that the voice call is ready.
本公开实施例提供的语音通道建立方法,通过Linux电话应用程序将电话呼出操作指令的指令数据发送至Linux框架层的电话服务;通过电话服务开启音频数据传输通道,并通过电话服务将指令数据发送至Android modem HAL;通过Android modem HAL将指令数据发送至调制解调器,以使调制解调器根据指令数据建立语音通道,从而实现Linux操作系统支持语音通话业务。In the voice channel establishment method provided by the embodiment of the present disclosure, the command data of the call-out operation command is sent to the phone service of the Linux framework layer through the Linux phone application program; the audio data transmission channel is opened through the phone service, and the command data is sent through the phone service To the Android modem HAL; send the command data to the modem through the Android modem HAL, so that the modem can establish a voice channel according to the command data, so that the Linux operating system can support the voice call service.
尽管没有明确的描述,容易理解,与电话语音通道的建立过程类似,Linux电话应用程序在结束电话通话时将结束电话操作指令通过上述流程完成结束语音通话业务。Although there is no clear description, it is easy to understand that, similar to the establishment process of the telephone voice channel, the Linux telephone application program will end the telephone operation instruction to complete the voice call service through the above process when ending the telephone call.
图4为本公开一实施例中语音通道建立装置的示意图。如图4所示,该装置可以包括:FIG. 4 is a schematic diagram of an apparatus for establishing a voice channel in an embodiment of the present disclosure. As shown in Figure 4, the device may include:
第一发送模块401,用于响应于电话呼出操作指令,通过第一操作系统的电话应用程序将指令数据发送至第一操作系统的框架层的电话服务;The first sending module 401 is used to send the instruction data to the telephone service of the framework layer of the first operating system through the telephone application program of the first operating system in response to the call-out operation instruction;
第二发送模块402,用于通过电话服务开启音频数据传输通道,并通过电话服务将指令数据发送至第二操作系统的调制解调硬件抽象层;The second sending module 402 is configured to open an audio data transmission channel through the telephone service, and send the instruction data to the modem hardware abstraction layer of the second operating system through the telephone service;
第三发送模块403,用于通过调制解调硬件抽象层将指令数据发送至调制解调器,以使调制解调器根据指令数据建立语音通道。The third sending module 403 is configured to send the instruction data to the modem through the modem hardware abstraction layer, so that the modem establishes a voice channel according to the instruction data.
本公开实施例提供的语音通道建立装置,通过第一操作系统的电话应用程序将电话呼出操作指令的指令数据发送至第一操作系统的框架层的电话服务;通过电话服务开启音频数据传输通道,并通过电话服务将指令数据发送至第二操作系统的调制解调硬件抽象层;通过调制解调硬件抽象层将指令数据发送至调制解调器,以使调制解调器根据指令数据建立语音通道,从而实现第一操作系统支持语音通话业务。The voice channel establishment device provided by the embodiment of the present disclosure sends the command data of the call-out operation command to the telephone service of the framework layer of the first operating system through the telephone application program of the first operating system; opens the audio data transmission channel through the telephone service, And send the instruction data to the modem hardware abstraction layer of the second operating system through the telephone service; send the instruction data to the modem through the modem hardware abstraction layer, so that the modem establishes a voice channel according to the instruction data, thereby realizing the first operation The system supports voice call service.
在一种可能的实现方式中,第一发送模块401,用于:In a possible implementation manner, the first sending module 401 is configured to:
通过所述第一操作系统的电话应用程序调用电话服务的语音呼叫管理模块的数据总线接口,将指令数据发送至所述第一操作系统的框架层的电话服务。Calling the data bus interface of the voice call management module of the telephone service through the telephone application program of the first operating system, and sending the instruction data to the telephone service of the framework layer of the first operating system.
在一种可能的实现方式中,第二发送模块402,用于:In a possible implementation manner, the second sending module 402 is configured to:
通过电话服务根据硬件抽象层接口描述语言规则,对指令数据进行编码,得到编码后的指令数据;Through the telephone service, according to the hardware abstraction layer interface description language rules, the instruction data is encoded to obtain the encoded instruction data;
通过电话服务将编码后的指令数据发送至调制解调硬件抽象层。The encoded command data is sent to the modem hardware abstraction layer via the telephony service.
在一种可能的实现方式中,该装置还包括第四发送模块,用于:In a possible implementation manner, the device further includes a fourth sending module, configured to:
在语音通道建立完成的情况下,通过调制解调器将通道建立成功通知消息发送至第一操作系 统的电话应用程序。When the voice channel is established, the channel establishment success notification message is sent to the telephone application program of the first operating system through the modem.
在一种可能的实现方式中,第四发送模块,具体用于:In a possible implementation manner, the fourth sending module is specifically configured to:
通过调制解调器将通道建立成功通知消息发送至调制解调硬件抽象层;Send the channel establishment success notification message to the modem hardware abstraction layer through the modem;
通过调制解调硬件抽象层将通道建立成功通知消息发送至电话服务;Send the channel establishment success notification message to the telephony service through the modem hardware abstraction layer;
通过电话服务将通道建立成功通知消息发送至第一操作系统的电话应用程序。The channel establishment success notification message is sent to the phone application program of the first operating system through the phone service.
在一种可能的实现方式中,第二发送模块402在通过电话服务开启音频数据传输通道时,用于:In a possible implementation manner, when the second sending module 402 opens the audio data transmission channel through the telephone service, it is used to:
通过电话服务调用音频设备接口,实现开启音频数据传输通道。Call the audio device interface through the telephone service to realize the opening of the audio data transmission channel.
在一种可能的实现方式中,该装置还包括通道建立模块,用于:In a possible implementation, the device further includes a channel establishment module, configured to:
预先通过第一操作系统的框架层或第二操作系统的框架层建立音频数据传输通道。The audio data transmission channel is established in advance through the framework layer of the first operating system or the framework layer of the second operating system.
本公开实施例各装置中的各单元、模块或子模块的功能可以参见上述方法实施例中的对应描述,在此不再赘述。For functions of each unit, module, or submodule in each device in the embodiments of the present disclosure, reference may be made to the corresponding descriptions in the foregoing method embodiments, and details are not repeated here.
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质、一种计算机程序产品及计算机程序。According to the embodiments of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium, a computer program product and a computer program.
图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或要求的本公开的实现。FIG. 5 shows a schematic block diagram of an example electronic device 500 that may be used to implement embodiments of the present disclosure. Electronic device is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. Electronic devices may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are by way of example only, and are not intended to limit implementations of the disclosure described and/or claimed herein.
如图5所示,电子设备500包括计算单元501,其可以根据存储在只读存储器(ROM,Read-Only Memory)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM,Random Access Memory)503中的计算机程序来执行各种适当的动作和处理。在RAM 503中,还可存储电子设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入输出(I/O,Input/Output)接口505也连接至总线504。As shown in Figure 5, the electronic device 500 includes a computing unit 501, which can be loaded into a random access memory (RAM, Random Access) according to a computer program stored in a read-only memory (ROM, Read-Only Memory) 502 or from a storage unit 508. Memory) 503 to perform various appropriate actions and processing. In the RAM 503, various programs and data necessary for the operation of the electronic device 500 can also be stored. The computing unit 501, ROM 502, and RAM 503 are connected to each other through a bus 504. An input/output (I/O, Input/Output) interface 505 is also connected to the bus 504 .
电子设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许电子设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。Multiple components in the electronic device 500 are connected to the I/O interface 505, including: an input unit 506, such as a keyboard, a mouse, etc.; an output unit 507, such as various types of displays, speakers, etc.; a storage unit 508, such as a magnetic disk, an optical disk etc.; and a communication unit 509, such as a network card, a modem, a wireless communication transceiver, and the like. The communication unit 509 allows the electronic device 500 to exchange information/data with other devices through a computer network such as the Internet and/or various telecommunication networks.
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU,Central Processing Unit)、图形处理单元(GPU,Graphic Processing Unit)、各种专用的人工智能(AI,Artificial Intelligence)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP,Digital Signal Processing)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如语音通道建立方法。例如,在一些实施例中,语音通道建立方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到电子设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的语音通道建立方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行语音通道建立方法。The computing unit 501 may be various general-purpose and/or special-purpose processing components having processing and computing capabilities. Some examples of the computing unit 501 include but are not limited to a central processing unit (CPU, Central Processing Unit), a graphics processing unit (GPU, Graphic Processing Unit), various dedicated artificial intelligence (AI, Artificial Intelligence) computing chips, various operating Computational units of machine learning model algorithms, digital signal processors (DSP, Digital Signal Processing), and any appropriate processors, controllers, microcontrollers, etc. The calculation unit 501 executes various methods and processes described above, such as a voice channel establishment method. For example, in some embodiments, the voice channel establishment method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as storage unit 508 . In some embodiments, part or all of the computer program can be loaded and/or installed on the electronic device 500 via the ROM 502 and/or the communication unit 509. When the computer program is loaded into the RAM 503 and executed by the computing unit 501, one or more steps of the voice channel establishment method described above can be performed. Alternatively, in other embodiments, the computing unit 501 may be configured in any other appropriate way (for example, by means of firmware) to execute the voice channel establishment method.
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA,Field Programmable Gate Array)、专用集成电路(ASIC,Application Specific Integrated Circuit)、专用标准产品(ASSP,Application Specific Standard Product)、芯片上系统的系统(SOC,System on a Chip)、复杂可编程逻辑设备(CPLD,Complex Programmable Logic Device)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。Various implementations of the systems and technologies described above in this paper can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGA, Field Programmable Gate Array), application specific integrated circuits (ASIC, Application Specific Integrated Circuit), Application Specific Standard Product (ASSP, Application Specific Standard Product), System on a Chip (SOC, System on a Chip), Complex Programmable Logic Device (CPLD, Complex Programmable Logic Device), computer hardware, firmware, software, and/or realized in combination of them. These various embodiments may include being implemented in one or more computer programs executable and/or interpreted on a programmable system including at least one programmable processor, the programmable processor Can be special-purpose or general-purpose programmable processor, can receive data and instruction from storage system, at least one input device, and at least one output device, and transmit data and instruction to this storage system, this at least one input device, and this at least one output device an output device.
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。Program codes for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special purpose computer, or other programmable data processing devices, so that the program codes, when executed by the processor or controller, make the functions/functions specified in the flow diagrams and/or block diagrams Action is implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM,Electrical Programmable ROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM,Compact disc ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media would include one or more wire-based electrical connections, portable computer discs, hard drives, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM, Electrical Programmable ROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM, Compact disc ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,阴极射线管(CRT,Cathode Ray Tube)或者液晶显示器(LCD,Liquid Crystal Display)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入来接收来自用户的输入。To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having a display device (e.g., a cathode ray tube (CRT, Cathode Ray Tube) or a liquid crystal display (LCD) for displaying information to the user. LCD, Liquid Crystal Display) monitor); and a keyboard and pointing device (such as a mouse or trackball) through which the user can provide input to the computer. Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and can be in any form (including Input from the user may be received through acoustic input, voice input, or tactile input.
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN,Local Area Network)、广域网(WAN,Wide Area Network)和互联网。The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., as a a user computer having a graphical user interface or web browser through which a user can interact with embodiments of the systems and techniques described herein), or including such backend components, middleware components, Or any combination of front-end components in a computing system. The components of the system can be interconnected by any form or medium of digital data communication, eg, a communication network. Examples of communication networks include: Local Area Network (LAN, Local Area Network), Wide Area Network (WAN, Wide Area Network) and the Internet.
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。A computer system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by computer programs running on the respective computers and having a client-server relationship to each other.
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公 开公开的技术方案所期望的结果,本文在此不进行限制。It should be understood that steps may be reordered, added or deleted using the various forms of flow shown above. For example, each step described in the present disclosure can be executed in parallel, sequentially, or in a different order, as long as the desired result of the technical solution disclosed in the present disclosure can be achieved, no limitation is imposed herein.
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。The specific implementation manners described above do not limit the protection scope of the present disclosure. It should be apparent to those skilled in the art that various modifications, combinations, sub-combinations and substitutions may be made depending on design requirements and other factors. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present disclosure shall be included within the protection scope of the present disclosure.

Claims (18)

  1. 一种语音通道建立方法,应用于电子设备,电子设备包括第一操作系统和与第一操作系统共享内核并部署在第一操作系统中的第二操作系统,其特征在于,所述方法包括:A method for establishing a voice channel, applied to an electronic device, the electronic device includes a first operating system and a second operating system that shares a kernel with the first operating system and is deployed in the first operating system, wherein the method includes:
    响应于电话呼出操作指令,通过第一操作系统的电话应用程序将指令数据发送至所述第一操作系统的框架层的电话服务;In response to the telephone call-out operation instruction, the instruction data is sent to the telephone service of the framework layer of the first operating system through the telephone application program of the first operating system;
    通过所述电话服务开启音频数据传输通道,并通过所述电话服务将所述指令数据发送至第二操作系统的调制解调硬件抽象层;Opening an audio data transmission channel through the telephone service, and sending the instruction data to the modem hardware abstraction layer of the second operating system through the telephone service;
    通过所述调制解调硬件抽象层将所述指令数据发送至调制解调器,以使所述调制解调器根据所述指令数据建立语音通道。The instruction data is sent to the modem through the modem hardware abstraction layer, so that the modem establishes a voice channel according to the instruction data.
  2. 根据权利要求1所述的方法,其特征在于,所述通过第一操作系统的电话应用程序将指令数据发送至所述第一操作系统的框架层的电话服务,包括:The method according to claim 1, wherein the sending of instruction data to the telephony service of the framework layer of the first operating system through the telephony application program of the first operating system includes:
    通过所述第一操作系统的电话应用程序调用电话服务的语音呼叫管理模块的数据总线接口,将指令数据发送至所述第一操作系统的框架层的电话服务。Calling the data bus interface of the voice call management module of the telephone service through the telephone application program of the first operating system, and sending the instruction data to the telephone service of the framework layer of the first operating system.
  3. 根据权利要求1或2所述的方法,其特征在于,所述通过所述电话服务将所述指令数据发送至第二操作系统的调制解调硬件抽象层,包括:The method according to claim 1 or 2, wherein the sending the instruction data to the modem hardware abstraction layer of the second operating system through the telephone service includes:
    通过所述电话服务根据硬件抽象层接口描述语言规则,对所述指令数据进行编码,得到编码后的指令数据;Encoding the instruction data according to the hardware abstraction layer interface description language rules through the telephone service to obtain the encoded instruction data;
    通过所述电话服务将所述编码后的指令数据发送至所述调制解调硬件抽象层。sending the encoded instruction data to the modem hardware abstraction layer via the telephony service.
  4. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:The method according to claim 1 or 2, characterized in that the method further comprises:
    在所述语音通道建立完成的情况下,通过所述调制解调器将通道建立成功通知消息发送至所述第一操作系统的电话应用程序。When the voice channel is established, a channel establishment success notification message is sent to the phone application program of the first operating system through the modem.
  5. 根据权利要求4所述的方法,其特征在于,所述通过所述调制解调器将通道建立成功通知消息发送至所述第一操作系统的电话应用程序,包括:The method according to claim 4, wherein the sending the channel establishment success notification message to the phone application program of the first operating system through the modem includes:
    通过所述调制解调器将所述通道建立成功通知消息发送至所述调制解调硬件抽象层;sending the channel establishment success notification message to the modem hardware abstraction layer through the modem;
    通过所述调制解调硬件抽象层将所述通道建立成功通知消息发送至所述电话服务;sending the channel establishment success notification message to the telephony service through the modem hardware abstraction layer;
    通过所述电话服务将所述通道建立成功通知消息发送至所述第一操作系统的电话应用程序。Sending the channel establishment success notification message to the phone application program of the first operating system through the phone service.
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,所述通过所述电话服务开启音频数据传输通道,包括:The method according to any one of claims 1 to 5, wherein said opening an audio data transmission channel through said telephone service comprises:
    通过所述电话服务调用音频设备接口,实现开启音频数据传输通道。The audio device interface is invoked through the telephone service to realize the opening of the audio data transmission channel.
  7. 根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 1 to 6, further comprising:
    预先通过第一操作系统的框架层或第二操作系统的框架层建立所述音频数据传输通道。The audio data transmission channel is established in advance through the framework layer of the first operating system or the framework layer of the second operating system.
  8. 一种语音通道建立装置,应用于电子设备,电子设备包括第一操作系统和与第一操作系统共享内核并部署在第一操作系统中的第二操作系统,其特征在于,所述装置包括:A device for establishing a voice channel is applied to an electronic device, the electronic device includes a first operating system and a second operating system that shares a kernel with the first operating system and is deployed in the first operating system, wherein the device includes:
    第一发送模块,用于响应于电话呼出操作指令,通过第一操作系统的电话应用程序将指令数据发送至所述第一操作系统的框架层的电话服务;The first sending module is used to send the instruction data to the telephone service of the framework layer of the first operating system through the telephone application program of the first operating system in response to the call-out operation instruction;
    第二发送模块,用于通过所述电话服务开启音频数据传输通道,并通过所述电话服务将所述指令数据发送至第二操作系统的调制解调硬件抽象层;The second sending module is configured to open an audio data transmission channel through the telephone service, and send the instruction data to the modem hardware abstraction layer of the second operating system through the telephone service;
    第三发送模块,用于通过所述调制解调硬件抽象层将所述指令数据发送至调制解调器,以使所述调制解调器根据所述指令数据建立语音通道。The third sending module is configured to send the instruction data to the modem through the modem hardware abstraction layer, so that the modem establishes a voice channel according to the instruction data.
  9. 根据权利要求8所述的装置,其特征在于,所述第一发送模块,用于:The device according to claim 8, wherein the first sending module is configured to:
    通过所述第一操作系统的电话应用程序调用电话服务的语音呼叫管理模块的数据总线接口,将指令数据发送至所述第一操作系统的框架层的电话服务。Calling the data bus interface of the voice call management module of the telephone service through the telephone application program of the first operating system, and sending the instruction data to the telephone service of the framework layer of the first operating system.
  10. 根据权利要求8或9所述的装置,其特征在于,所述第二发送模块,用于:The device according to claim 8 or 9, wherein the second sending module is configured to:
    通过所述电话服务根据硬件抽象层接口描述语言规则,对所述指令数据进行编码,得到编码后的指令数据;Encoding the instruction data according to the hardware abstraction layer interface description language rules through the telephone service to obtain the encoded instruction data;
    通过所述电话服务将所述编码后的指令数据发送至所述调制解调硬件抽象层。sending the encoded instruction data to the modem hardware abstraction layer via the telephony service.
  11. 根据权利要求8或9所述的装置,其特征在于,所述装置还包括第四发送模块,用于:The device according to claim 8 or 9, wherein the device further comprises a fourth sending module, configured to:
    在所述语音通道建立完成的情况下,通过所述调制解调器将通道建立成功通知消息发送至所述第一操作系统的电话应用程序。When the voice channel is established, a channel establishment success notification message is sent to the phone application program of the first operating system through the modem.
  12. 根据权利要求11所述的装置,其特征在于,所述第四发送模块,具体用于:The device according to claim 11, wherein the fourth sending module is specifically used for:
    通过所述调制解调器将所述通道建立成功通知消息发送至所述调制解调硬件抽象层;sending the channel establishment success notification message to the modem hardware abstraction layer through the modem;
    通过所述调制解调硬件抽象层将所述通道建立成功通知消息发送至所述电话服务;sending the channel establishment success notification message to the telephony service through the modem hardware abstraction layer;
    通过所述电话服务将所述通道建立成功通知消息发送至所述第一操作系统的电话应用程序。Sending the channel establishment success notification message to the phone application program of the first operating system through the phone service.
  13. 根据权利要求8至12中任一项所述的装置,其特征在于,所述第二发送模块在通过所述电话服务开启音频数据传输通道时,用于:The device according to any one of claims 8 to 12, wherein the second sending module is configured to: when opening an audio data transmission channel through the telephone service:
    通过所述电话服务调用音频设备接口,实现开启音频数据传输通道。The audio device interface is invoked through the telephone service to realize the opening of the audio data transmission channel.
  14. 根据权利要求8至13中任一项所述的装置,其特征在于,所述装置还包括通道建立模块,用于:The device according to any one of claims 8 to 13, wherein the device further comprises a channel establishment module, configured to:
    预先通过第一操作系统的框架层或第二操作系统的框架层建立所述音频数据传输通道。The audio data transmission channel is established in advance through the framework layer of the first operating system or the framework layer of the second operating system.
  15. 一种电子设备,其特征在于,包括:An electronic device, characterized in that it comprises:
    至少一个处理器;以及at least one processor; and
    与所述至少一个处理器通信连接的存储器;其中,a memory communicatively coupled to the at least one processor; wherein,
    所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任一项所述的方法。The memory stores instructions executable by the at least one processor, the instructions are executed by the at least one processor, so that the at least one processor can perform any one of claims 1 to 7. Methods.
  16. 一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的方法。A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to execute the method according to any one of claims 1-7.
  17. 一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。A computer program product, characterized by comprising a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 7 is realized.
  18. 一种计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。A computer program, characterized in that, when the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.
PCT/CN2022/105310 2021-09-26 2022-07-12 Method and apparatus for establishing voice channel, electronic device, and storage medium WO2023045510A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111128034.5 2021-09-26
CN202111128034.5A CN113852718B (en) 2021-09-26 2021-09-26 Voice channel establishing method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
WO2023045510A1 true WO2023045510A1 (en) 2023-03-30

Family

ID=78979512

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/105310 WO2023045510A1 (en) 2021-09-26 2022-07-12 Method and apparatus for establishing voice channel, electronic device, and storage medium

Country Status (2)

Country Link
CN (1) CN113852718B (en)
WO (1) WO2023045510A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113852718B (en) * 2021-09-26 2022-11-15 北京字节跳动网络技术有限公司 Voice channel establishing method and device, electronic equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140366024A1 (en) * 2013-06-07 2014-12-11 American Megatrends, Inc. Methods, Devices and Computer Readable Storage Devices for Emulating a Light Sensor in a Guest Operating System from a Host Operating System
CN109669782A (en) * 2017-10-13 2019-04-23 阿里巴巴集团控股有限公司 Hardware abstraction layer multiplexing method, device, operating system and equipment
CN113190294A (en) * 2021-04-07 2021-07-30 北京鲸鲮信息系统技术有限公司 Method and device for calling Android HIDL interface by Linux system and storage medium
CN113286280A (en) * 2021-04-12 2021-08-20 沈阳中科创达软件有限公司 Audio data processing method and device, electronic equipment and computer readable medium
CN113852718A (en) * 2021-09-26 2021-12-28 北京鲸鲮信息系统技术有限公司 Voice channel establishing method and device, electronic equipment and storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8306021B2 (en) * 2008-04-02 2012-11-06 Twilio, Inc. System and method for processing telephony sessions
EP2622490B1 (en) * 2010-10-01 2018-12-05 Z124 Cross-environment communication framework
US20200349749A1 (en) * 2019-05-03 2020-11-05 XRSpace CO., LTD. Virtual reality equipment and method for controlling thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140366024A1 (en) * 2013-06-07 2014-12-11 American Megatrends, Inc. Methods, Devices and Computer Readable Storage Devices for Emulating a Light Sensor in a Guest Operating System from a Host Operating System
CN109669782A (en) * 2017-10-13 2019-04-23 阿里巴巴集团控股有限公司 Hardware abstraction layer multiplexing method, device, operating system and equipment
CN113190294A (en) * 2021-04-07 2021-07-30 北京鲸鲮信息系统技术有限公司 Method and device for calling Android HIDL interface by Linux system and storage medium
CN113286280A (en) * 2021-04-12 2021-08-20 沈阳中科创达软件有限公司 Audio data processing method and device, electronic equipment and computer readable medium
CN113852718A (en) * 2021-09-26 2021-12-28 北京鲸鲮信息系统技术有限公司 Voice channel establishing method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN113852718B (en) 2022-11-15
CN113852718A (en) 2021-12-28

Similar Documents

Publication Publication Date Title
CN113821359B (en) Audio-driven system compatible method, device and equipment
US20170116987A1 (en) Electronic device and method for executing function using speech recognition thereof
JP6596173B1 (en) Incoming call management method and apparatus
US11379183B2 (en) System and method for providing a response to a user query using a visual assistant
WO2023045511A1 (en) Mobile data network establishment method and apparatus, electronic device, and storage medium
CN113590363B (en) Data transmission method, device, electronic equipment and storage medium
US20210316745A1 (en) Vehicle-based voice processing method, voice processor, and vehicle-mounted processor
WO2023045510A1 (en) Method and apparatus for establishing voice channel, electronic device, and storage medium
US9921798B2 (en) Universal Serial Bus-to-Bluetooth audio bridging devices
WO2021057064A1 (en) Data interaction conversion method and apparatus based on artificial intelligence, device, and medium
US20190114183A1 (en) Terminal Configuration Method and Terminal Based on Provision Protocol for Transmission
CN114489896B (en) Content display method and device, storage medium and electronic equipment
US10628614B2 (en) Mobile communication device based on virtual mobile infrastructure and related input method switching method thereof
WO2023060956A1 (en) Method and apparatus for simulating bluetooth behavior, and device
CN113840271B (en) NFC data transmission method and device, electronic equipment and storage medium
WO2023000698A1 (en) Method for controlling program by means of speech, and device and program product
CN114020364B (en) Sensor device adaptation method, device, electronic device and storage medium
US11977815B2 (en) Dialogue processing method and device
CN114143144A (en) Distributed gateway-based micro-service calling method and device and related equipment
CN109710576B (en) File display method, terminal and storage medium
WO2015096294A1 (en) Video conference terminal and implementation method thereof for supporting third-party application
WO2019127475A1 (en) Method and apparatus for implementing virtual sim card, storage medium, and electronic device
US20230216912A1 (en) Page Display Method and Electronic Device
US20230127607A1 (en) Methods, devices, and computer program products for authenticating peripheral device
US20150063171A1 (en) Method and apparatus for transmitting multimedia data during call origination in communication terminal

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22871569

Country of ref document: EP

Kind code of ref document: A1