CN113852718B - Voice channel establishing method and device, electronic equipment and storage medium - Google Patents

Voice channel establishing method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN113852718B
CN113852718B CN202111128034.5A CN202111128034A CN113852718B CN 113852718 B CN113852718 B CN 113852718B CN 202111128034 A CN202111128034 A CN 202111128034A CN 113852718 B CN113852718 B CN 113852718B
Authority
CN
China
Prior art keywords
operating system
sending
modem
instruction data
telephone
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111128034.5A
Other languages
Chinese (zh)
Other versions
CN113852718A (en
Inventor
陈祥卿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202111128034.5A priority Critical patent/CN113852718B/en
Publication of CN113852718A publication Critical patent/CN113852718A/en
Priority to PCT/CN2022/105310 priority patent/WO2023045510A1/en
Application granted granted Critical
Publication of CN113852718B publication Critical patent/CN113852718B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

The application provides a voice channel establishing method and device, electronic equipment and a storage medium, and relates to the technical field of computers. The method comprises the following steps: sending instruction data of a call-out operation instruction to a telephone service of a framework layer of the first operating system through a telephone application program of the first operating system; starting an audio data transmission channel through the telephone service, and sending instruction data to a modulation and demodulation hardware abstraction layer of a second operating system through the telephone service; and sending the instruction data to the modem through the modulation and demodulation hardware abstraction layer so that the modem establishes a voice channel according to the instruction data, thereby realizing that the first operating system supports voice call service.

Description

Voice channel establishing method and device, electronic equipment and storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method and an apparatus for establishing a voice channel, an electronic device, and a storage medium.
Background
At present, the mainstream operating systems supporting voice call services are Android and IOS, and although Linux operating systems have more applications in supporting services such as text editing, web browsing, and audio/video playing, the Linux operating systems do not support voice call services much, and there is no mature implementation scheme.
Disclosure of Invention
The application provides a voice channel establishing method and device, electronic equipment and a storage medium.
In one aspect, the present application provides a method for establishing a voice channel, including:
in response to a telephone outgoing call operation instruction, transmitting instruction data to a telephone service of a framework layer of the first operating system through a telephone application of the first operating system;
starting an audio data transmission channel through the telephone service, and sending instruction data to a modulation and demodulation hardware abstraction layer of a second operating system through the telephone service;
and sending the instruction data to the modem through the modulation and demodulation hardware abstraction layer so that the modem establishes a voice channel according to the instruction data.
In another aspect, the present application provides a voice channel establishing apparatus, including:
the first sending module is used for responding to a telephone outgoing operation instruction and sending instruction data to a telephone service of a framework layer of a first operating system through a telephone application program of the first operating system;
the second sending module is used for starting an audio data transmission channel through the telephone service and sending the instruction data to a modulation and demodulation hardware abstraction layer of a second operating system through the telephone service;
and the third sending module is used for sending the instruction data to the modem through the modulation and demodulation hardware abstraction layer so that the modem establishes a voice channel according to the instruction data.
In another aspect, the present application provides an electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to cause the at least one processor to perform the method of any of the embodiments of the present application.
In another aspect, the application provides a non-transitory computer readable storage medium having stored thereon computer instructions for causing a computer to perform a method in any of the embodiments of the application.
In another aspect, the present application provides a computer program product comprising a computer program which, when executed by a processor, performs the method of any of the embodiments of the present application.
According to the voice channel establishing method, the voice channel establishing device, the electronic equipment and the storage medium, the instruction data of the telephone calling operation instruction 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; starting an audio data transmission channel through the telephone service, and sending instruction data to a modulation and demodulation hardware abstraction layer of a second operating system through the telephone service; and sending the instruction data to the modem through the modulation and demodulation hardware abstraction layer so that the modem establishes a voice channel according to the instruction data, thereby realizing that the first operating system supports voice call service.
It should be understood that the statements in this section do not necessarily identify key or critical features of the embodiments of the present application, nor do they limit the scope of the present application. Other features of the present application will become apparent from the following description.
Drawings
The drawings are included to provide a better understanding of the present solution and are not to be considered limiting of the present application. Wherein:
fig. 1 is a flowchart of a voice channel establishing method according to an embodiment of the present application;
FIG. 2 is a flowchart illustrating a method for establishing a voice channel according to an embodiment of the present application;
FIG. 3 is a diagram illustrating a voice channel establishment method according to an embodiment of the present application;
fig. 4 is a schematic diagram of a voice channel establishing apparatus according to an embodiment of the present application;
fig. 5 is a block diagram of an electronic device for implementing a voice channel establishing method according to an embodiment of the present application.
Detailed Description
The following description of the exemplary embodiments of the present application, taken in conjunction with the accompanying drawings, includes various details of the embodiments of the application for the understanding of the same, which are to be considered 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 present application. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
Generally, a hardware architecture of a mobile device such as a mobile phone and a tablet computer is composed of two processors, one Processor is used for running an operating system and running an Application program thereon, and the Processor is called an Application Processor (AP); the other Processor runs 2G, 3G, 4G and 5G protocol stack programs to realize functions related to radio frequency wireless communication, and is called a Baseband Processor (BP). Taking the Android operating system as an example, the operating system and the application program run on the AP, and implement the service logic of the voice call function through command interaction with the modem in the BP.
The operating system needs to realize command interaction with the Modem by depending on the drive of the Modem, but a Modem manufacturer usually does not provide the support of the BP under the Linux operating system, so that the Linux operating system cannot realize data communication with the Modem and cannot support voice call service.
In the following embodiments, the applicant takes the Linux operating system to call the Modem driver of the Android operating system as an example to describe the technical problem to be solved by the embodiments of the present invention. Those skilled in the art can understand that similar application scenarios, as long as the cross-system driver call implemented in the containerized operating system implemented in the shared operating system kernel, are applicable to the method of the embodiments of the present invention.
For example, the first operating system as a host and the second operating system deployed in the first operating system are shared Linux kernels, and are implemented by LXC, containerization, and other technologies.
For example, the first operating system may be a GNU/Linux release, such as Ubuntu, debian, redHat, or the like. It should be noted that the first operating system is not limited to be running on a physical machine, and may also be an operating system hosted on another operating system, for example, WSL in a Windows system.
For example, the second operating system may be an Android operating system, encompassing the Android OS issued by Google and AOSP and various derivative systems based on AOSP, such as MIUI, EMUI, one UI, and the like.
As known to those skilled in the art, there are various other Linux Kernel-based mobile operating systems for native Modem-supported modems on devices such as mobile phones, such as Tizen, hong meng, meego, etc. as examples of the second operating system, which are also applicable to the technical solution of the embodiments of the present invention.
In the following embodiments, the hardware abstraction layer HAL encapsulates the kernel driver of the operating system, provides a hardware access interface to various application layer requirements, and shields the driver implementation details of the underlying hardware downwards.
In the following embodiments, a hardware abstraction layer interface description language, also called a hardware abstraction layer interface definition language, is a language specification for describing interfaces of software components, so that software components (written in different languages) communicate with each other. In an Android system, a hardware abstraction layer interface description language is HIDL, and an interface between an Android Framework and an Android HAL is defined; in a Tizen system, a Hardware abstraction Layer Interface description language defines an Interface between native subsystems and Hardware Adaptation Layer implementation for OAL Interface IDL; the IDLs of other systems may correspond to queries from the architecture manuals of the respective systems.
The subject matter of the present application can be any electronic device, for example, a terminal device, including but not limited to a User Equipment (UE), a mobile device, a cellular phone, a cordless phone, a Personal Digital Assistant (PDA), a handheld device, a computing device, a vehicle-mounted device, a wearable device, and so on. In some possible implementations, the method may also be implemented by a processor calling computer readable instructions stored in a memory.
The technical scheme can be applied to the electronic device, the electronic device comprises a first operating system and a second operating system which shares a kernel with the first operating system and is deployed in the first operating system, in some embodiments, the first operating system is a Linux operating system, and the second operating system is an Android operating system. The Linux operating system realizes communication between the Linux operating system and the Android operating system by calling a Modem Hardware abstraction Layer (Android Modem HAL) under Android, and further realizes communication between the Linux operating system and a Modem.
In a possible implementation manner, a specific process of the Linux operating system calling the Modem HAL of the Android operating system includes:
and sending the data from the Linux operating system to the Modem HAL of the Android operating system through the system inter-process communication mode Hwbinder service. Registration is required in advance before using the Hwbinder service. The transmission channel process of the Linux operating system is registered as a client (client) of the Hwbinder service in advance, and the Android Modem HAL is registered as a server (server) of the Hwbinder service in advance. After the registration is finished, the communication between the transmission channel process of the Linux operating system and the Android Modem HAL can be realized through the Hwbinder service.
The method for registering a transmission channel process of a Linux operating system as a client of the Hwbinder service in advance comprises the following steps: creating a first object of the client using a first object creation function; registering the first object in the Hwbinder service by using a first object registration function; and configuring a first object calling function, wherein the first object calling function is used for calling the first object to realize the transmission of the 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 call function may be gbinder _ client _ transaction.
The method for registering the Android Modem HAL as a service end of the Hwbinder service in advance comprises the following steps: creating a second object of the server by using a second object creating function; registering the second object in the Hwbinder service by using a second object registration function; and configuring a second object calling function, wherein the second object calling function is used for calling the second object to realize the transmission of the 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 call function may be gbinder _ server _ transaction.
According to the technical scheme, the Android operating system is used as a transfer to realize communication between the Linux operating system and the modem, so that the Linux operating system supports voice call service. The following describes the voice channel establishing method in the embodiment of the present application in detail.
Fig. 1 is a schematic diagram of a voice channel establishing method according to an embodiment of the present application. As shown in fig. 1, the method may include:
step S101, responding to a call-out operation instruction, and sending instruction data to a telephone service of a framework layer of a first operating system through a telephone application program of the first operating system;
taking the first operating system as a Linux operating system and the second operating system as an Android operating system as an example, when a user makes a call, inputting a telephone number through a user interface of a telephone application program in the Linux operating system, clicking a call-out button to generate a telephone call-out event, responding to a telephone call-out operating instruction input by the user by the terminal equipment, and sending instruction data of the telephone call-out operating instruction to a telephone service Telephony of a framework layer of the Linux operating system through the Linux telephone application program.
Step S102, an audio data transmission channel is opened through the telephone service, and instruction data are sent to a modulation and demodulation hardware abstraction layer of a second operating system through the telephone service;
taking the first operating system as a Linux operating system and the second operating system as an Android operating system as an example, the audio device of the Linux operating system is called through the telephone service of the Linux framework layer, and the audio data transmission channel is opened for inputting and outputting audio data.
Because the Linux operating system cannot directly communicate with the modem, the Android modem HAL is used as a relay to send the instruction data to a Rild process of a radio frequency interface layer of the Android modem HAL, and the Rild process is an application process which can be used for the Android modem HAL to communicate with the modem.
And step S103, sending the instruction data to the modem through the modulation and demodulation hardware abstraction layer so that the modem establishes a voice channel according to the instruction data.
Optionally, taking the first operating system as a Linux operating system and the second operating system as an Android operating system as an example, the command data is sent to the modem through a Rild process of the Android modem HAL, and the modem establishes a voice channel according to the command data.
Optionally, when the voice channel is established, the modem completes the voice call signaling flow of the corresponding mobile network according to the current network state, for example, 2G, 3G, 4G, 5G, and the like.
According to the voice channel establishing method provided by the embodiment of the application, the instruction data of the telephone outgoing operation instruction 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; starting an audio data transmission channel through the telephone service, and sending instruction data to a modulation and demodulation hardware abstraction layer of a second operating system through the telephone service; and sending the instruction data to the modem through the modulation and demodulation hardware abstraction layer so that the modem establishes a voice channel according to the instruction data, thereby realizing that the first operating system supports voice call service.
For a specific implementation of step S101, see the following embodiments.
In one possible implementation, sending instruction data to a telephony service of a framework layer of a first operating system by a telephony application of the first operating system includes:
and calling a data bus interface of a voice call management module of the telephone service through a 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.
Taking the first operating system as a Linux operating system and the second operating system as an Android operating system as an example, the command data may be sent to the phone service of the Linux framework layer through a Bus (e.g., D-Bus) interface of the voice call manager of the phone service called by the Linux phone application.
In the embodiment of the application, the data bus interface is adopted for data transmission, so that low delay, low overhead and high availability can be realized.
For a specific implementation of step S102, see the following embodiments.
In one possible implementation, sending the instruction data to a modem hardware abstraction layer of the second operating system through the telephony service includes:
encoding the instruction data through a telephone service according to a hardware abstraction layer Interface Description Language (HIDL) rule of the Android, so as to obtain encoded instruction data;
and sending the coded instruction data to a modulation and demodulation hardware abstraction layer through a telephone service.
The HIDL rule is an Interface description language for specifying an Interface between the HAL and its user, and may collect a specified type and function call into an Interface (Interface) and a Package (Package). Alternatively, the HIDL may organize specified data structures and method signatures into interfaces that are collected into packets for use.
With the HIDL rule, a framework (frame) can be isolated from the HAL so that the framework parts can be directly overwritten, updated without recompiling the HAL.
In a possible implementation manner, the voice channel establishing method further includes:
and in the case that the voice channel establishment is completed, sending a channel establishment success notification message to the telephone application program of the first operating system through the modem.
In practical applications, after the modem completes a voice call signaling flow of the mobile network, the establishment of the voice channel is completed, that is, the establishment of the voice data transmission channel between the terminal device and the base station is completed, the modem sends a channel establishment success notification message to the phone application program of the first operating system, and the phone application program displays a voice call interface, so that the user can perform a voice call.
The specific implementation manner in which the channel establishment success notification message is sent to the phone application program of the first operating system through the modem is as follows:
in one possible implementation, sending a channel setup success notification message to a telephony application of a first operating system via a modem, includes:
sending a channel establishment success notification message to a modulation and demodulation hardware abstraction layer through a modem;
sending a channel establishment success notification message to the telephone service through a modulation and demodulation hardware abstraction layer;
a channel setup success notification message is sent to the phone application of the first operating system through the phone service.
Taking the first operating system as a Linux operating system and the second operating system as an Android operating system as an example, sending the channel establishment success notification message to the Android modem HAL through the modem, sending the channel establishment success notification message to the VoiceCallManager of the telephone service through the Android modem HAL, sending the channel establishment success notification message to the Linux telephone application program through the bus interface by the VoiceCallManager, and displaying a voice call interface by the telephone application program to prompt the user that voice call can be performed.
In one possible implementation, the opening of the audio data transmission channel by the telephone service includes:
and calling an audio equipment interface through telephone service to open an audio data transmission channel.
In practical application, 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 in the terminal equipment.
In a possible implementation manner, the voice channel establishing method further includes:
an audio data transmission channel is established in advance by a framework layer of the first operating system or a framework layer of the second operating system.
Taking the first operating system as a Linux operating system and the second operating system as an Android operating system as an example, the audio data transmission channel may be established through a Linux framework layer or an Android framework layer. If the audio data transmission channel is established through the Linux framework layer, calling audio equipment of a Linux operating system through telephone service of the Linux framework layer, and starting the audio data transmission channel. And if the audio data transmission channel is established through the Android frame layer, calling the audio equipment of the Android operating system through the telephone service of the Android frame layer, and starting the audio data transmission channel.
The following describes an implementation procedure of the voice channel establishing method in the present application by using a specific embodiment. Fig. 2 is a flowchart of a voice channel establishing method in an embodiment of the present application, where a first operating system is a Linux operating system, and a second operating system is an Android operating system.
As shown in fig. 2, the method in this embodiment includes:
step S201, responding to a telephone calling operation instruction, and sending instruction data to a telephone service of a Linux framework layer through a Linux telephone application program;
when a user dials a call, inputting a telephone number through a user interface of the Linux telephone application program, clicking a call-out button to generate a telephone call-out event, responding to a telephone call-out operation instruction input by the user by the terminal equipment, and sending instruction data of the telephone call-out operation instruction to a telephone service Telephony of the Linux framework layer through the Linux telephone application program.
Step S202, an audio data transmission channel is opened through telephone service, and command data are sent to an Android modem HAL through the telephone service;
and calling audio equipment of a Linux operating system through the telephone service of the Linux framework layer, and starting an audio data transmission channel for inputting and outputting audio data.
In addition, because the Linux operating system cannot directly communicate with the modem, the Android modem HAL is used as a relay to send the instruction data to a Rild process of a radio frequency interface layer of the Android modem HAL, and the Rild process is an application process which can be used for the Android modem HAL to communicate with the modem.
Step S203, sending the instruction data to a modem through an Android modem HAL so that the modem establishes a voice channel according to the instruction data;
optionally, the instruction data is sent to the modem through a Rild process of the Android modem HAL, and the modem establishes a voice channel according to the instruction data.
Optionally, when the voice channel is established, the modem completes the voice call signaling flow of the corresponding mobile network according to the current network state, for example, 2G, 3G, 4G, and 5G.
Step S204, under the condition that the voice channel is established, sending a channel establishment success notification message to an Android modem HAL through a modem;
in practical applications, after the modem completes a voice call signaling flow of a mobile network, the establishment of a voice channel is completed, that is, the establishment of a voice data transmission channel between a terminal device and a base station is completed, a channel establishment success notification message is sent to a Linux telephone application program through the modem, and first, the channel establishment success notification message needs to be sent to an Android modem HAL.
Step S205, a channel establishment success notification message is sent to a telephone service through an Android modem HAL;
specifically, the Android modem HAL sends a channel establishment success notification message to the VoiceCallManager of the telephony service.
Step S206, the channel establishment success notification message is sent to the Linux telephone application program through the telephone service.
Specifically, the voicecall manager of the telephone service sends the channel establishment success notification message to the Linux telephone application program through the D-Bus interface, and the telephone application program displays the voice call interface to prompt the user that the voice call can be performed.
The following describes an implementation procedure of the voice channel establishing method in the present application by using a specific embodiment. Fig. 3 is a schematic diagram of a voice channel establishing method according to an embodiment of the present application. As shown in fig. 3, in this embodiment, the hardware architecture of the terminal device is composed of two processors, one Processor is used to run an operating system and run an Application program thereon, and the Processor is called an Application Processor (AP); the other Processor runs 2G, 3G, 4G and 5G protocol stack programs to realize functions related to radio frequency wireless communication, and is called a Baseband Processor (BP). The system comprises an Android operating system and a Linux operating system, wherein the Android operating system and the Linux operating system both run on the AP, and the Android operating system is used as a transfer to realize communication between the Linux operating system and a modem in the BP.
Specifically, when a user makes a call, a telephone number is input through a user interface of the Linux telephone application program, a call-out button is clicked to generate a telephone call-out event, the terminal device responds to a telephone call-out operation instruction input by the user, a data Bus D-Bus interface of the telephone service of the Linux framework layer is called through the Linux telephone application program, and instruction data are sent to the telephone service. The telephone service encodes the instruction data according to HIDL rules to obtain encoded instruction data; and sending the coded instruction data to a radio frequency interface layer Rild process of an Android modem HAL (hardware abstraction layer), sending the instruction data to a modem through the Rild process of the Android modem HAL, and establishing a voice channel by the modem according to the instruction data. When the voice channel is established, the modem completes the voice call signaling flow of the mobile network according to the protocol stack programs corresponding to 2G, 3G, 4G and 5G. And under the condition that the voice channel is established, sending a channel establishment success notification message to a Rild process of the Android modem HAL through the modem, sending the channel establishment success notification message to a telephone service through the Rild process of the Android modem HAL, sending the channel establishment success notification message to a Linux telephone application program through a D-Bus interface by the telephone service, and displaying a voice call interface by the telephone application program to prompt a user that voice call can be carried out.
According to the voice channel establishing method provided by the embodiment of the application, the instruction data of the operation instruction called out by the telephone is sent to the telephone service of the Linux framework layer through the Linux telephone application program; an audio data transmission channel is opened through telephone service, and command data are sent to an Android modem HAL through the telephone service; and 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, thereby realizing that the Linux operating system supports voice call service.
Although not explicitly described, it is easily understood that, similar to the establishment process of the telephone voice channel, the Linux telephone application will end the telephone operation command to complete the end of the voice call service through the above-mentioned flow when the telephone call is ended.
Fig. 4 is a schematic diagram of a voice channel establishing apparatus according to an embodiment of the present application. As shown in fig. 4, the apparatus may include:
a first sending module 401, configured to send instruction data to a telephone service of a framework layer of a first operating system through a telephone application of the first operating system in response to a telephone outgoing call operation instruction;
a second sending module 402, configured to open an audio data transmission channel through a telephone service, and send instruction data to a modem hardware abstraction layer of a second operating system through the telephone service;
a third sending module 403, 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 establishing device provided by the embodiment of the application sends the instruction data of the call outgoing operation instruction to the telephone service of the framework layer of the first operating system through the telephone application program of the first operating system; starting an audio data transmission channel through the telephone service, and sending instruction data to a modulation and demodulation hardware abstraction layer of a second operating system through the telephone service; and sending the instruction data to the modem through the modulation and demodulation hardware abstraction layer so that the modem establishes a voice channel according to the instruction data, thereby realizing that the first operating system supports voice call service.
In one possible implementation, the first sending module 401 is configured to:
and calling a data bus interface of a voice call management module of the telephone service through a telephone application program of the first operating system, and sending instruction data to the telephone service of the framework layer of the first operating system.
In a possible implementation manner, the second sending module 402 is configured to:
coding the instruction data through the telephone service according to the interface description language rule of the hardware abstraction layer to obtain coded instruction data;
and sending the coded instruction data to a modulation and demodulation hardware abstraction layer through the telephone service.
In a possible implementation manner, the apparatus further includes a fourth sending module, configured to:
and in the case that the voice channel establishment is completed, sending a channel establishment success notification message 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:
sending a channel establishment success notification message to a modulation and demodulation hardware abstraction layer through a modem;
sending a channel establishment success notification message to the telephone service through a modulation and demodulation hardware abstraction layer;
a channel setup success notification message is sent to the telephony application of the first operating system through the telephony service.
In one possible implementation, when the audio data transmission channel is opened through the telephone service, the second sending module 402 is configured to:
and calling an audio equipment interface through telephone service to open an audio data transmission channel.
In a possible implementation manner, the apparatus further includes a channel establishing module, configured to:
the audio data transmission channel is established in advance by a framework layer of the first operating system or a framework layer of the second operating system.
The functions of each unit, module, or sub-module in each apparatus in the embodiment of the present application may refer to the corresponding description in the above method embodiment, and are not described herein again.
According to embodiments of the present application, an electronic device, a readable storage medium, and a computer program product are also provided.
FIG. 5 illustrates a schematic block diagram of an example electronic device 500 that can be used to implement embodiments of the present application. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. Electronic devices may also represent various forms of mobile devices, such as personal digital processors, cellular telephones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the present application that are described and/or claimed herein.
As shown in fig. 5, the electronic device 500 includes a computing unit 501, which can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM) 502 or a computer program loaded from a storage unit 508 into a Random Access Memory (RAM) 503. In the RAM 503, various programs and data required for the operation of the electronic apparatus 500 can also be stored. The calculation unit 501, the ROM 502, and the RAM 503 are connected to each other by a bus 504. An input/output (I/O) interface 505 is also connected to bus 504.
A number of 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, or the like; an output unit 507 such as various types of displays, speakers, and the like; a storage unit 508, such as a magnetic disk, optical disk, or the like; and a communication unit 509 such as a network card, modem, wireless communication transceiver, etc. 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 a variety of 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), a Graphics Processing Unit (GPU), various dedicated Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, and so forth. The calculation unit 501 performs the respective methods and processes described above, such as the voice channel establishment method. For example, in some embodiments, the voice channel establishment method can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as storage unit 508. In some embodiments, part or all of the computer program may be loaded and/or installed onto 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 speech channel establishment method described above may be performed. Alternatively, in other embodiments, the computing unit 501 may be configured to perform the voice channel establishment method in any other suitable manner (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuitry, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), system on a chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, receiving data and instructions from, and transmitting data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for implementing the methods of the present application 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, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions/operations specified in the flowchart and/or block diagram to be performed. 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.
In the context of this application, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The 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, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), and the Internet.
The computer system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
It should be understood that various forms of the flows shown above, reordering, adding or deleting steps, may be used. For example, the steps described in the present application may be executed in parallel, sequentially, or in different orders, as long as the desired results of the technical solutions disclosed in the present application can be achieved, and the present invention is not limited herein.
The above-described embodiments should not be construed as limiting the scope of the present application. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may be made in accordance with design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims (16)

1. A voice channel establishing method is applied to electronic equipment, the electronic equipment comprises a first operating system and a second operating system which shares a kernel with the first operating system and is deployed in the first operating system, and the method comprises the following steps:
responding to a call-out operation instruction, and sending instruction data of the call-out operation instruction to a telephone service of a framework layer of a first operating system through a telephone application program of the first operating system;
starting an audio data transmission channel through the telephone service, and sending the instruction data to a modulation and demodulation hardware abstraction layer of a second operating system through the audio data transmission channel;
and sending the instruction data to a modem through the modulation and demodulation hardware abstraction layer so that the modem establishes a voice channel according to the instruction data.
2. The method of claim 1, wherein sending instruction data to telephony services of a framework layer of the first operating system via a telephony application of the first operating system comprises:
and calling a data bus interface of a voice call management module of the telephone service through a telephone application program of the first operating system, and sending instruction data to the telephone service of the framework layer of the first operating system.
3. The method of claim 1 or 2, wherein sending the instruction data to a modem hardware abstraction layer of a second operating system via the audio data transmission channel comprises:
coding the instruction data through the telephone service according to a hardware abstraction layer interface description language rule to obtain coded instruction data;
and sending the coded instruction data to the modulation and demodulation hardware abstraction layer through the telephone service.
4. The method according to claim 1 or 2, characterized in that the method further comprises:
and under the condition that the voice channel is established, sending a channel establishment success notification message to a telephone application program of the first operating system through the modem.
5. The method of claim 4, wherein sending a channel setup success notification message to a telephony application of the first operating system via the modem comprises:
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;
and sending the channel establishment success notification message to a telephone application program of the first operating system through the telephone service.
6. The method of claim 1, wherein opening an audio data transmission channel through the telephony service comprises:
and calling an audio equipment interface through the telephone service to open an audio data transmission channel.
7. The method of claim 1, further comprising:
and establishing the audio data transmission channel through a framework layer of the first operating system or a framework layer of the second operating system in advance.
8. A voice channel establishing device is applied to electronic equipment, the electronic equipment comprises a first operating system and a second operating system which shares a kernel with the first operating system and is deployed in the first operating system, and the device is characterized by comprising:
the first sending module is used for responding to a call-out operation instruction and sending instruction data of the call-out operation instruction to a telephone service of a framework layer of a first operating system through a telephone application program of the first operating system;
the second sending module is used for starting an audio data transmission channel through the telephone service and sending the instruction data to a modulation and demodulation hardware abstraction layer of a second operating system through the audio data transmission channel;
and the third sending module is used for sending the instruction data to a modem through the modulation and demodulation hardware abstraction layer so that the modem establishes a voice channel according to the instruction data.
9. The apparatus of claim 8, wherein the first sending module is configured to:
and calling a data bus interface of a voice call management module of the telephone service through a telephone application program of the first operating system, and sending instruction data to the telephone service of the framework layer of the first operating system.
10. The apparatus of claim 8 or 9, wherein the second sending module is configured to:
coding the instruction data through the telephone service according to a hardware abstraction layer interface description language rule to obtain coded instruction data;
and sending the coded instruction data to the modulation and demodulation hardware abstraction layer through the telephone service.
11. The apparatus according to claim 8 or 9, wherein the apparatus further comprises a fourth sending module configured to:
and under the condition that the voice channel is established, sending a channel establishment success notification message to a telephone application program of the first operating system through the modem.
12. The apparatus of claim 11, wherein the fourth sending module is specifically configured to:
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;
and sending the channel establishment success notification message to a telephone application program of the first operating system through the telephone service.
13. The apparatus of claim 8, wherein the second sending module, when opening an audio data transmission channel through the telephony service, is configured to:
and calling an audio equipment interface through the telephone service to open an audio data transmission channel.
14. The apparatus of claim 8, further comprising a channel establishment module to:
and establishing the audio data transmission channel through a framework layer of the first operating system or a framework layer of the second operating system in advance.
15. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-7.
16. A non-transitory computer readable storage medium having stored thereon computer instructions for causing a computer to perform the method of any one of claims 1-7.
CN202111128034.5A 2021-09-26 2021-09-26 Voice channel establishing method and device, electronic equipment and storage medium Active CN113852718B (en)

Priority Applications (2)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN113852718A CN113852718A (en) 2021-12-28
CN113852718B true CN113852718B (en) 2022-11-15

Family

ID=78979512

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111128034.5A Active CN113852718B (en) 2021-09-26 2021-09-26 Voice channel establishing method and device, electronic equipment 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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103282875A (en) * 2010-10-01 2013-09-04 Flex Electronics ID Co.,Ltd. Multi-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

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3484135A1 (en) * 2008-04-02 2019-05-15 Twilio Inc. System and method for processing telephony sessions
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
US20200349749A1 (en) * 2019-05-03 2020-11-05 XRSpace CO., LTD. Virtual reality equipment and method for controlling thereof
CN113852718B (en) * 2021-09-26 2022-11-15 北京字节跳动网络技术有限公司 Voice channel establishing method and device, electronic equipment and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103282875A (en) * 2010-10-01 2013-09-04 Flex Electronics ID Co.,Ltd. Multi-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

Also Published As

Publication number Publication date
WO2023045510A1 (en) 2023-03-30
CN113852718A (en) 2021-12-28

Similar Documents

Publication Publication Date Title
CN113590363B (en) Data transmission method, device, electronic equipment and storage medium
CN113626224B (en) NFC data interaction method and device, electronic equipment and storage medium
CN113840295B (en) Mobile data network establishing method and device, electronic equipment and storage medium
US9510181B2 (en) Image-based remote subscriber identity module activation
CN110933075B (en) Service calling method and device, electronic equipment and storage medium
WO2021057064A1 (en) Data interaction conversion method and apparatus based on artificial intelligence, device, and medium
CN102333164B (en) Incoming call screen display method of call system based on B/S (Browser/Server) framework
CN113852718B (en) Voice channel establishing method and device, electronic equipment and storage medium
CN113055523B (en) Crank call interception method and device, electronic equipment and storage medium
CN114020364B (en) Sensor device adaptation method, device, electronic device and storage medium
CN113760487B (en) Service processing method and device
CN113419880A (en) Cloud mobile phone root authority acquisition method, related device and computer program product
CN114283808A (en) Multi-path outbound system, method, apparatus, medium, and product
CN107888482B (en) Instant messaging method and device
CN114726901B (en) Container access method, device, equipment and storage medium
CN114428646B (en) Data processing method and device, electronic equipment and storage medium
US20220191270A1 (en) Method of data interaction, data interaction apparatus, electronic device and non-transitory computer readable storage medium
CN112596922B (en) Communication management method, device, equipment and medium
US20240134723A1 (en) Technology and protocol agnostic key-value pair based user interface and data rendering to support a transaction
CN116846977A (en) Network sharing method, device and system, electronic equipment and storage medium
CN115455099A (en) Data collaboration method, device and medium based on cloud edge collaboration architecture
CN107967155A (en) Method, apparatus, the server of program operation are realized based on Hook shared libraries
CN117931322A (en) Interface calling method and device of low-code platform and electronic equipment
CN118042064A (en) Application-installation-free video call method, device, equipment and product of iOS system
CN116341663A (en) Extension method, device, equipment and medium of deep learning reasoning framework

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20220402

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

Address before: 2005, floor 2, No. 39, West Street, Haidian District, Beijing 100080

Applicant before: Beijing jingling Information System Technology Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant