Call equipment switching method and device, electronic equipment and storage medium
By starting the cross-end call service when switching the call device, the call operation is flowed to the called device, the problems of cumbersome switching operations and interrupted calls in the prior art are solved, and a simplified device switching process and an efficient call experience are realized.
Patent Information
- Application Number
- CN202311552890.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-20
- Publication Date
- 2025-05-20
AI Technical Summary
The prior art has cumbersome operation steps when switching a call device, and requires the same call application to be installed in another device, and there are problems of call interruption and re-initiation.
By starting the cross-end call service, the call operation is flowed to the called device for execution, and the call data is transmitted to the called device through the cross-end call service, reducing dependence on the installation of the call application and avoiding call interruptions and re-initiation.
It simplifies the operation process of switching calls devices, improves user experience, reduces dependence on device applications, and avoids call interruptions and re-initiation.
Smart Images

Figure CN120021240A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and particularly to a method, apparatus, electronic device, and storage medium for switching call devices. Background Art
[0002] With the development of intelligent device technology, users can usually make calls through various devices such as mobile phones and speakers. In some call scenarios, users usually need to switch the call device among different devices. For example, in an office scenario, when a user makes a video call through the call application on a mobile phone, the video call device usually needs to be switched from the mobile phone to the projection device in the conference room.
[0003] In the prior art, when switching call devices, it is usually necessary to first install the same call application as the current device in another device, and then, after ending the current call in the call application of the current device, initiate a call again in another device. Using this method, the operation steps for switching call devices are relatively cumbersome. Summary of the Invention
[0004] The purpose of the embodiments of the present application is to provide a method, apparatus, electronic device, and storage medium for switching call devices, so as to simplify the cumbersome operations for switching call devices when switching call devices.
[0005] On the one hand, the embodiments of the present application provide a method for switching call devices, which is applied to a calling device and includes:
[0006] In response to a call answering operation for a call application, perform a call operation;
[0007] In response to a received call device switching instruction, start a cross-device call service, where the cross-device call service is used to transfer the call operation to the called device for execution;
[0008] Through the cross-device call service, transmit call data to the called device.
[0009] In one implementation, starting the cross-device call service includes:
[0010] Obtain hardware metadata of the target call hardware through a hardware collaboration service interface; the target call hardware is the hardware used for calls in the called device;
[0011] Generate a hardware call instruction based on the hardware metadata through a hardware cross-device call interface;
[0012] Send the hardware call instruction to the called device, so that the called device controls the target call hardware to execute the hardware call instruction.
[0013] In one implementation, hardware metadata of a target call hardware is obtained through a hardware cooperation service interface, including:
[0014] Device detection is performed through the hardware cooperation service interface to obtain at least one detected associated device;
[0015] For the hardware used for calls among at least one associated device, a hardware information acquisition request is sent to each associated device respectively;
[0016] The hardware metadata returned by each associated device based on the hardware information acquisition request is received respectively;
[0017] The obtained hardware metadata corresponding to at least one hardware is presented to the user;
[0018] In response to a user's hardware selection operation, the called device, the target call hardware, and its corresponding hardware metadata are determined.
[0019] In one implementation, call data is transmitted to a called device through a cross - end call service, including:
[0020] When it is determined that call data sent by a call object is received, the call data is forwarded to a virtual call service in the called device, so that the virtual call service calls the target call hardware to perform a call operation based on the call data.
[0021] In one implementation, the method further includes:
[0022] When it is determined that call reply data returned by the virtual call service is received, the call reply data is forwarded to the call object.
[0023] In one implementation, the method further includes:
[0024] In response to a user's call end operation, a call end instruction is sent to the virtual call service;
[0025] When it is determined that a call end notification returned by the call virtual service based on the call end instruction is received, a call end prompt message is presented to the user.
[0026] On the one hand, in an embodiment of the present application, a method for call device switching is provided, which is applied to a called device and includes:
[0027] When it is determined that a hardware call instruction sent by a calling device for a target call hardware is received, the target call hardware is controlled to execute the call instruction; the target call hardware is the hardware used for calls set in the called device, and the hardware call instruction is sent by the calling device in response to a call device switching instruction for the current call of the call application;
[0028] When determining to receive call data transmitted by the calling device through the cross - terminal call service, the target call hardware is invoked through the virtual call service, and call operations are performed based on the call data; the call data is sent by the call object to the calling device; the cross - terminal call service is used to transfer the call operations to the called device for execution.
[0029] In one implementation, the method further includes:
[0030] In response to the user's call reply operation, collect the call reply data input by the user;
[0031] Through the virtual call service, return the call reply data input by the user to the calling device, so that the calling device forwards the call reply data to the call object.
[0032] In one implementation, the method further includes:
[0033] When determining to receive the call end instruction sent by the calling device, execute the call end instruction through the virtual call service;
[0034] Return a call end notification to the calling device, so that the calling device, based on the call end notification, displays a call end prompt message to the user.
[0035] On the one hand, an apparatus for call device switching is provided in an embodiment of the present application, which is applied to the calling device and includes:
[0036] An execution unit, configured to perform call operations in response to the user's call answering operation for the call application;
[0037] A start unit, configured to start the cross - terminal call service in response to the received call device switching instruction, and the cross - terminal call service is used to transfer the call operations to the called device for execution;
[0038] A transmission unit, configured to transmit call data to the called device through the cross - terminal call service.
[0039] In one implementation, the start unit is configured to:
[0040] Obtain the hardware metadata of the target call hardware through the hardware cooperation service interface; the target call hardware is the hardware for calls in the called device;
[0041] Generate a hardware call instruction based on the hardware metadata through the hardware cross - device call interface;
[0042] Send the hardware call instruction to the called device, so that the called device controls the target call hardware to execute the hardware call instruction.
[0043] In one implementation, the start unit is configured to:
[0044] Device detection is performed through the hardware collaboration service interface to obtain at least one associated device detected;
[0045] For the hardware used for calls among at least one associated device, a hardware information acquisition request is sent to each associated device respectively;
[0046] The hardware metadata returned by each associated device based on the hardware information acquisition request is received respectively;
[0047] The hardware metadata corresponding to at least one obtained hardware is presented to the user;
[0048] In response to the user's hardware selection operation, the called device, the target call hardware, and its corresponding hardware metadata are determined.
[0049] In one implementation, the transmission unit is used for:
[0050] When it is determined that call data sent by a call object is received, the call data is forwarded to the virtual call service in the called device, so that the virtual call service calls the target call hardware to perform a call operation based on the call data.
[0051] In one implementation, the transmission unit is further used for:
[0052] When it is determined that call reply data returned by the virtual call service is received, the call reply data is forwarded to the call object.
[0053] In one implementation, the transmission unit is further used for:
[0054] In response to the user's call end operation, a call end instruction is sent to the virtual call service;
[0055] When it is determined that a call end notification returned by the call virtual service based on the call end instruction is received, a call end prompt message is presented to the user.
[0056] On the one hand, in an embodiment of the present application, a device for call device switching is provided, which is applied to a called device and includes:
[0057] A control unit, configured to control the target call hardware to execute a call instruction when it is determined that a hardware call instruction sent by a calling device for the target call hardware is received; the target call hardware is the hardware used for calls set in the called device, and the hardware call instruction is sent by the calling device in response to a call device switching instruction for the current call of the call application;
[0058] An execution unit, configured to, when determining to receive call data transmitted by a calling device through a cross-device call service, call a target call hardware through a virtual call service and perform a call operation based on the call data; the call data is sent by a call object to the calling device; the cross-device call service is used to transfer the call operation to the called device for execution.
[0059] In one implementation, the execution unit is further configured to:
[0060] In response to a user's call reply operation, collect call reply data input by the user;
[0061] Through the virtual call service, return the call reply data input by the user to the calling device, so that the calling device forwards the call reply data to the call object.
[0062] In one implementation, the execution unit is further configured to:
[0063] When determining to receive a call end instruction sent by the calling device, execute the call end instruction through the virtual call service;
[0064] Return a call end notification to the calling device, so that the calling device displays a call end prompt message based on the call end notification.
[0065] On the one hand, an electronic device is provided in an embodiment of the present application, including:
[0066] A processor; and
[0067] A memory storing computer instructions, the computer instructions being used to cause the processor to execute the steps of the method provided in any of the various alternative implementations of call device switching as described above.
[0068] On the one hand, a storage medium is provided in an embodiment of the present application, storing computer instructions, the computer instructions being used to cause a computer to execute the steps of the method provided in any of the various alternative implementations of call device switching as described above.
[0069] The method for call device switching in the embodiments of the present application includes performing a call operation in response to a call answering operation for a call application; starting a cross-device call service in response to a received call device switching instruction, the cross-device call service being used to transfer the call operation to the called device for execution; and transmitting call data to the called device through the cross-device call service. In this way, the dependence on the installation of the call application is reduced, there is no need for call interruption and re-initiation of a call, the cumbersome operation of call device switching is simplified, and the user experience is improved. Description of the Drawings
[0070] To more clearly illustrate the specific embodiments of the present application or the technical solutions in the prior art, the following will briefly introduce the drawings required for the description of the specific embodiments or the prior art. Obviously, the drawings in the following description are some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.
[0071] Figure 1 It is a flowchart of a method for switching call devices in an embodiment of the present application.
[0072] Figure 2 It is an interaction flowchart of a method for switching call devices in an embodiment of the present application.
[0073] Figure 3 It is a structural block diagram of a device for switching call devices in an embodiment of the present application.
[0074] Figure 4 It is a structural block diagram of another device for switching call devices in an embodiment of the present application.
[0075] Figure 5 It is a schematic structural diagram of an electronic device in an embodiment of the present application. Specific embodiments
[0076] The following will clearly and completely describe the technical solutions of the present application with reference to the drawings. Obviously, the described embodiments are some, but not all, of the embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the scope of protection of the present application. In addition, the technical features involved in different embodiments of the present application described below can be combined with each other as long as they do not conflict with each other.
[0077] First, some terms involved in the embodiments of the present application will be described to facilitate the understanding of those skilled in the art.
[0078] Terminal device: It can be a mobile terminal, a fixed terminal or a portable terminal, such as a mobile phone, a site, a unit, a device, a multimedia computer, a multimedia tablet, an Internet node, a communicator, a desktop computer, a laptop computer, a notebook computer, a netbook computer, a tablet computer, a personal communication system device, a personal navigation device, a personal digital assistant, an audio / video player, a digital camera / video camera, a positioning device, a television receiver, a radio broadcast receiver, an e-book device, a game device or any combination thereof, including accessories and peripherals of these devices or any combination thereof. It is also foreseeable that the terminal device can support any type of user interface (such as a wearable device), etc.
[0079] Server: It can be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, and big data and artificial intelligence platforms.
[0080] The technical idea of this application will be described below.
[0081] With the development of intelligent device technology, users can usually make calls through various devices such as mobile phones and speakers. In some call scenarios, users usually need to switch the device used for calls among different devices. For example, in an office scenario, when a user is making a video call through the call application on a mobile phone, the user usually needs to switch the video call device from the mobile phone to the projection device in the conference room. Another example is that when a user starts driving a vehicle, the user hopes to switch the video being played by the call application on the mobile phone to the audio-visual device in the vehicle.
[0082] Under traditional technology, when switching call devices, it is usually necessary to first install the same call application as the current device in another device, and then, after ending the current call in the call application of the current device, restart the call through the same call application on the other device to achieve call device switching.
[0083] However, in this way, the same call application needs to be installed on both devices, and the operation steps are relatively cumbersome. If the same call application is not installed on both devices, call device switching cannot be performed, there are certain application limitations, and it is also necessary to interrupt the call and restart it, and the operation steps are also relatively cumbersome.
[0084] Based on the defects of the above-related technologies, a method, device, electronic device, and storage medium for call device switching are provided in the embodiments of this application, aiming to simplify the cumbersome operation of call device switching when switching call devices.
[0085] A method for call device switching is provided in the embodiments of this application. This method can be applied to a calling device, and the calling device can be any type of electronic device, which can be a terminal device, a server, etc. This application will not elaborate on this.
[0086] In an application scenario, when the call application of a calling device (such as a mobile phone) receives a call request initiated by a call object (such as another user's mobile phone), according to the user's answer instruction, the call is connected, and subsequent call operations are performed (such as playing the audio and video of the video call for the user based on the received call data, and collecting the call reply data of the user (such as voice and user images), and returning the call reply data to the call object).
[0087] Next, when the user needs to switch a call from the calling device to a certain called device (for example, switch a call in a mobile phone to a tablet computer), the calling device starts a cross-device call service according to the user's call device switching instruction, and forwards the call data sent by the call object to the called device through this cross-device call service.
[0088] Specifically, during the process of the calling device starting the cross-device call service, it sends a hardware call instruction to the called device. When the called device determines that it has received the hardware call instruction, it controls the target call hardware to execute the hardware call instruction, and displays a virtual call interface to the user through the virtual call service (for example, an application interface including a hang-up button and a call device switching button). After the calling device forwards the call data sent by the call object to the virtual call service in real time, the virtual call service calls the target call hardware (such as a speaker and a display) to play the audio or audio-visual of the call to the user, and collects the voice and image of the user's call reply in real time through the target call hardware (such as a microphone and a camera) to obtain call reply data, and returns the call reply data to the calling device. The calling device then forwards the received call reply data to the call object.
[0089] It should be noted that the virtual call service is not a call application with complete call functions. It can be any program in the called device used to control the data collection of the target call hardware and the audio-visual playback, mainly used to control the target call hardware to implement the playback of call data and the collection of call reply data, and present an interactive virtual call interface to the user in the called device, so that the user has the same call experience as the calling device in the called device.
[0090] In this way, when the call device needs to be switched, there is no need to install a call application in the called device, nor to interrupt the call and re-initiate the call. As long as it can present an interactive virtual call interface to the user and has target call hardware that can be called across devices, the call application of the calling device can be used as a transfer station for call data processing, and the call data of the call object forwarded by the calling device can be played through the target call hardware, and the call reply data collected by the target call hardware can be forwarded to the call object through the calling device, and the call interaction with the user can be realized through the virtual call interface of the called device.
[0091] The following Figure 1 is used to specifically describe this method. Refer to Figure 1 As shown, it is a flowchart of a method for switching call devices in an embodiment of the present application. The specific implementation process of this method is as follows:
[0092] Step 100: In response to the user's call answering operation for the call application, perform a call operation.
[0093] In one implementation, a calling device is provided with a call application for making calls. When the call application receives a call answering request, it displays a call application interface including a call answering button. In response to a user's call answering operation on the call answering button in the call application interface, the call is connected, the call data sent by the call object is received, the call data is played to the user, the user's voice is collected to obtain call reply data, and the call reply data is sent to the call object.
[0094] Wherein, the call object is another device that the user communicates with through the call application. The call can be a video call (such as a video call in a social application software or a conference software), or an audio call (such as a phone call in a mobile phone).
[0095] Step 101: In response to a received call device switching instruction, start a cross-device call service.
[0096] Wherein, the cross-device call service is used to transfer the call operation to be executed on the called device.
[0097] Optionally, the call device switching instruction can be generated by the user device according to the user's active trigger operation, or can be automatically sensed and generated based on the interconnection and interoperability between devices. For example, after the user gets in the car, the devices are automatically connected and sensed to trigger the call device switching instruction. It can also be automatically triggered according to the device used by the user. For example, if the call priority of the tablet is set higher than that of the mobile phone, after the user turns on the tablet, the tablet determines that the user is making a call through the mobile phone, and then sends a call device switching instruction to the mobile phone.
[0098] In one implementation, when starting the cross-device call service, the following steps can be adopted:
[0099] S1011: Through the hardware cooperation service interface, obtain the hardware metadata of the target call hardware; the target call hardware is the hardware for making calls in the called device.
[0100] Wherein, the hardware in the embodiments of the present application is computer hardware. It is composed of many different functional modular components and can complete operations such as input, processing, storage, and output with the cooperation of software. Computer hardware usually includes the following types: output devices (such as monitors, printers, and speakers, etc.), input devices (such as mice, keyboards, and cameras, etc.), central processing units, storage devices (such as memory, hard disks, optical discs, USB flash drives, and memory cards, etc.), and motherboards. Hardware metadata is the basic attribute information of the hardware, such as the identifier of the hardware, the functional parameters of the hardware, etc. The hardware for making calls can be a microphone, etc.
[0101] In one implementation, when obtaining the hardware metadata, the following steps can be adopted:
[0102] S1011-1: In response to the received call device switching instruction, perform device detection through the hardware collaboration service interface to obtain at least one detected associated device.
[0103] In one implementation, a call device switching button is also displayed in the call application interface. In response to the user's call device switching operation on the call device switching button, detect the surrounding associated devices through the hardware collaboration service interface.
[0104] Optionally, the associated device can be a different device within the same network as the calling device. The associated device and the calling device can be network-connected through Bluetooth or wireless (wifi), etc. The associated device and the calling device can also log in with the same account.
[0105] Among them, the hardware collaboration service interface is an interface for discovering devices and obtaining hardware metadata.
[0106] S1011-2: For the hardware used for calls among at least one associated device, send a hardware information acquisition request to each associated device respectively.
[0107] In one implementation, when any associated device determines that it has received the hardware information acquisition request sent by the calling device, obtain the hardware metadata corresponding to the hardware used for calls and return the hardware metadata to the calling device. Among them, the hardware information acquisition request is sent by the calling device through the hardware collaboration service interface.
[0108] S1011-3: Receive the hardware metadata returned by each associated device based on the hardware information acquisition request respectively.
[0109] S1011-4: Display the obtained hardware metadata corresponding to at least one hardware to the user.
[0110] As an example, display the names of each hardware, the hardware performance parameters, and the names of the devices where the hardware is located through the call application interface.
[0111] S1011-5: In response to the user's hardware selection operation, determine the called device, the target call hardware, and its corresponding hardware metadata.
[0112] In one implementation, display each hardware and its corresponding hardware metadata respectively through the call application interface. In response to the user's click operation on any hardware, determine the target call hardware selected by the user from each hardware, and use the associated device where the target call hardware is located as the called device.
[0113] In this way, the called device, the target call hardware, and its corresponding hardware metadata can be determined according to the user's instructions.
[0114] Furthermore, you can first obtain the device switching permission for the current call provided by the communication application, and determine whether the calling device has the permission to switch the call to another device based on the device switching permission.
[0115] In one implementation, in response to the user's call answering operation, the call application initiates a registration request for the current call to the cross-device interconnection framework. Based on the registration request, the cross-device interconnection framework obtains the device switching permission for the current call. If the device switching permission is to allow device switching, a registration success message is returned to the call application; if the device switching permission is to prohibit device switching, the call application returns a registration failure message.
[0116] In one implementation, if the device switching permission is to allow device switching, the call device switching button in the call application interface is valid and can respond to the user's call device switching operation. Otherwise, the call device switching button is invalid (e.g., gray and cannot be triggered) and cannot respond to the user's call device switching operation.
[0117] In one implementation, when the call application determines that a registration failure message has been received, it displays a switching prohibition prompt message to the user and prohibits the call device switching process.
[0118] Among them, the cross-device interconnection framework is a framework for implementing cross-device hardware calls. The calling device can call the hardware functions of the called device through the cross-device interconnection framework.
[0119] In one implementation, the cross-device interconnection framework includes a hardware collaborative service interface, a hardware cross-device call interface, and a data stream transmission interface. The hardware collaborative service interface is used to obtain hardware metadata of associated devices. The hardware cross-device call interface is used for the calling device to send control instructions to the hardware of the called device, such as hardware call instructions. The data stream transmission interface is used to transmit data streams between the calling device and the called device, such as audio data of a video call.
[0120] In this way, the discovery, connection and data transmission of associated devices can be realized through the cross-device interconnection framework. When a user uses a certain device to make a call, the discovered associated device can be used as an alternative device to switch to the call, thus preparing for the flow of the call.
[0121] S1012: Generate hardware call instructions based on hardware metadata through the hardware cross-device call interface.
[0122] S1013: Send a hardware call instruction to the called device, so that the called device controls the target call hardware to execute the hardware call instruction.
[0123] In one implementation, the calling device invokes the RpcManager through a hardware cross-device invocation interface, generates a hardware invocation instruction based on hardware metadata, performs serialization processing on the hardware invocation instruction in JSON format through Rpclnvoker, and uses RpcTransport to send the serialized hardware invocation instruction to the called device through a remote call connection. When the called device determines that it has received the hardware invocation instruction sent by the calling device for the target call hardware, it controls the target call hardware to execute the invocation instruction and displays a virtual call interface for interacting with the user through a virtual call service. As an example, the virtual call interface is an application interface that includes a hang-up button and a call device switching button. If the call is a video call, the virtual call interface is also used to play the video of the call.
[0124] Among them, the hardware invocation instruction is sent by the calling device in response to a call device switching instruction for the current call of the call application. The remote call connection can be a network connection based on the Remote Procedure Call (RPC) protocol. It can be configured according to user needs, support the lightweight data exchange format (JavaScript Object Notation, JSON) RPC2.0 protocol, support both synchronous and asynchronous calls, and support multiple systems, such as the Android system, Windows system, and Vela system, etc.
[0125] Among them, the target call hardware is the hardware for making calls installed in the called device, and the hardware invocation instruction is sent by the calling device in response to the user's call device switching operation for the call application. The virtual call service is implemented based on the cross-device interconnection framework, and is used to receive data sent by the calling device based on the cross-device interconnection framework and perform corresponding call operations, such as displaying a virtual call interface that includes buttons for call device switching and call hanging up operations for the user, or playing the audio and video of the call through a display screen and a player, or collecting the user's voice and image through a microphone and a camera respectively to obtain call reply data, and returning the call reply data to the calling device based on the cross-device interconnection framework. That is to say, in the embodiments of the present application, the target call hardware is invoked through the virtual call service, and the virtual call service realizes the presentation of the call interface, the human-computer interaction with the user, the playback of call data, and the collection of call reply data based on the data interaction with the calling device.
[0126] It should be noted that the virtual call service and the call application in the calling device are different applications, and can be applied to the called device installed with any operating system, and can perform data interaction with any type of call application in the calling device installed with any operating system to achieve call device switching. It is not necessary to pre-install the same call application as the calling device in the called device, which reduces the usage restrictions and improves the applicable scope.
[0127] In this way, when the user instructs to switch the call from the calling device to the called device, the cross-device interconnection framework of the called device can implement interface interaction with the user through the virtual call service, and can, in subsequent steps, perform data interaction with the calling device, and based on this interaction, call the target call hardware to play the received call data, and return the call reply data of the user collected through the target call hardware.
[0128] Step 102: Transmit call data to the called device through the cross-end call service.
[0129] In one implementation, when the calling device determines that it has received the call data sent by the call object, it forwards the call data to the virtual call service in the called device, so that the virtual call service invokes the target call hardware to perform a call operation based on the call data. When the called device determines that it has received the call data transmitted by the calling device through the cross-end call service, it invokes the target call hardware through the virtual call service and performs a call operation based on the call data; the call data is sent by the call object to the calling device; the cross-end call service is used to transfer the call operation to the called device for execution.
[0130] Specifically, when performing step 102, the following steps can be adopted:
[0131] S1021: Send a data stream connection request to the called device through the data stream transmission interface.
[0132] In one implementation, when the called device determines that it has received the data stream connection request sent by the calling device through the data transmission interface, it sends a connection response message to the calling device to establish a data stream connection between the calling device and the called device.
[0133] Among them, the data stream transmission interface is an interface for transmitting data streams.
[0134] In one implementation, a data stream transmission interface of the calling device and a distributed I / O Runtime can be generated based on a distributed input / output (I / O) client software development kit (SDK) in the calling device. A data stream transmission interface of the calling device and a distributed I / O Runtime can also be generated based on a distributed I / O server SDK included in the called device. The distributed I / O Runtime is used to transmit data streams between the calling device and the called device through a data stream connection. Memory sharing can be performed between the data stream transmission interface and the distributed I / O Runtime, and data can be transmitted through IPC.
[0135] S1022: If a connection response message returned by the called device based on a data stream connection request is received, it is determined that a data stream connection between the calling device and the called device is successfully established.
[0136] S1023: When it is determined that call data is received, the call data is forwarded to the virtual call service through the data stream connection.
[0137] In one implementation, the called device receives call data sent by the calling device through a data stream connection; based on the call data, the virtual call service is used to call the target call hardware to perform corresponding call operations.
[0138] In this way, the user can receive the call voice or call video of the call object through the called device.
[0139] Further, when it is determined that call reply data returned by the virtual call service is received, the call reply data can also be forwarded to the call object.
[0140] In one implementation, the called device responds to a user's call reply operation (such as a voice input operation), collects call reply data input by the user, and returns the call reply data to the calling device through the virtual call service. The calling device forwards the received call reply data to the call object.
[0141] Further, the calling device can also control the called device to end the call. Specifically, the following steps can be adopted:
[0142] The calling device sends an end - call instruction to the virtual call service in response to the user's end - call operation. When the called device determines that it has received the end - call instruction sent by the calling device, it executes the end - call instruction through the virtual call service. The called device returns an end - call notification to the calling device, enabling the calling device to display an end - call prompt message to the user based on the end - call notification. When the calling device determines that it has received the end - call notification returned by the call virtual service based on the end - call instruction, it displays an end - call prompt message to the user.
[0143] The following combines Figure 2 to illustrate the above - mentioned method of call device switching by way of example. Refer to Figure 2 As shown, it is an interaction flowchart of a method for call device switching, including a calling device and a called device. A call application and a first cross - device interconnection framework are set in the calling device, and a second cross - device interconnection framework is set in the called device. The specific implementation process of this method is as follows:
[0144] Step 200: The call application executes a call operation in response to the user's call - answering operation on the call application.
[0145] Among them, the call application is an application program (APP) set in the calling device. Optionally, the calling device can be a mobile phone, and the call application can be a video call APP in the calling device.
[0146] Step 201: The call application sends a registration request to the first cross - device interconnection framework for the current call.
[0147] Among them, the first cross - device interconnection framework is a cross - device interconnection framework set in the calling device.
[0148] Step 202: The first cross - device interconnection framework obtains the device - switching permission corresponding to the current call based on the registration request.
[0149] Step 203: If the device - switching permission is to allow device switching, the first cross - device interconnection framework returns a registration success message to the call application.
[0150] Furthermore, if the device - switching permission is to prohibit device switching, the first cross - device interconnection framework returns a registration failure message to the call application.
[0151] Step 204: If it is determined that a registration success message has been received, the call application sends a hardware information acquisition request to the first cross - device interconnection framework in response to the received call device switching instruction.
[0152] Step 205: The first cross - device interconnection framework sends a hardware information acquisition request to the second cross - device interconnection framework in the called device.
[0153] Among them, the second cross-device interconnection framework is the cross-device interconnection framework set in the called device. Optionally, the called device can be a tablet computer (pad).
[0154] Step 206: The call application receives the hardware metadata of the target call hardware returned by the second cross-device interconnection framework.
[0155] Step 207: The call application transmits call data to the virtual call service based on the hardware metadata.
[0156] In one implementation, the call application sends a hardware call instruction to the called device based on the hardware metadata. When the called device determines that it has received the hardware call instruction, it controls the target call hardware to execute the hardware call instruction through the virtual call service. When the call application receives call data sent by the call object, it forwards the call data to the virtual call service, and when it determines that it has received call reply data returned by the virtual call service, it forwards the call reply data to the call object.
[0157] In this way, the called device does not need to install the same call application as the calling device, simplifying the cumbersome operation of call device switching. Moreover, the call application of the calling device can transmit call data to the called device in real time and receive call reply data returned by the called device in real time, ensuring the synchronization of call data and call reply data and the call quality, so that when the user makes a call on the called device (such as listening to the call content), they can obtain the same experience as making a call on the calling device.
[0158] Step 208: The call application sends a call end instruction to the virtual call service in response to the user's call end operation.
[0159] Step 209: The call application receives a call end notification returned by the virtual call service based on the call end instruction.
[0160] Furthermore, the user can also end the call through the called device.
[0161] In one implementation, the virtual call service ends the current call in response to the user's call end operation on the virtual call interface and sends a call end notification to the call application.
[0162] Step 210: The call application displays a call end prompt message to the user based on the call end notification.
[0163] In this way, the user can perform a call end operation on either the calling device or the called device, and both the calling device and the called device can immediately terminate the current call, providing convenience for ending the call and improving the user experience.
[0164] Further, both the calling device and the called device can also respond to the user's device switching stop operation to stop the call device switching, that is, stop transmitting the call data of the calling device to the called device, stop calling the target call hardware through the virtual call service, and continue to provide the service of the current call through the calling device.
[0165] In one implementation, when it is determined that a hardware call instruction is received, the virtual call service displays a virtual call interface to the user. The virtual call interface includes a hang-up button and a call device switching button. The user can trigger the hang-up button in the virtual call interface to end the current call and send a call end notification to the call application of the calling device. The user can also trigger the call device switching button in the virtual call interface to send a switching stop instruction to the call application. Based on the switching stop instruction, the calling device stops calling the called device and resumes the normal call of the call application, that is, stops making calls through the called device and makes calls again through the call application.
[0166] Specifically, when performing steps 200 - 210, the specific steps refer to the above steps 100 - 102 and will not be elaborated here.
[0167] In the embodiments of the present application, through the cross-device interconnection framework, device discovery and connection can be achieved, enabling the calling device to perceive other devices in a multi-device environment and establish a stable connection with other devices, providing a basis for call switching. Moreover, through the cross-device interconnection framework, the integrity, synchronization, and real-time performance of call data between devices can be ensured, avoiding the delay and lag problems in traditional solutions. Further, when switching call devices, the call application of the calling device is used as a data transfer station, and the virtual call service of the called device is used to control the target call hardware to play call data and collect call reply data, and a virtual call interface can be displayed to the user, enabling the user to make calls, hang up calls, and stop call device switching through the called device. There is no need to pre-install a call application in the called device, no need to interrupt the call and re-initiate the call, allowing for the quick and easy access of various types of call applications, applicable to any type of operating system, without complex configuration and development, greatly simplifying the integration process, achieving seamless cross-device transfer of calls (such as video calls), improving the user's call efficiency and experience, increasing the diversity of calls, reducing the installation dependence on device applications, and lowering the usage threshold.
[0168] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in this application are all information and data that have been authorized by the user or fully authorized by all parties. Moreover, the collection, use, and processing of relevant data need to comply with the relevant laws, regulations, and standards of relevant countries and regions, and corresponding operation entrances are provided for the user to choose to authorize or reject.
[0169] Based on the same inventive concept, an apparatus for switching call devices is further provided in an embodiment of this application. Since the principles of solving problems by the above-mentioned apparatus and device are similar to those of a method for switching call devices, the implementation of the above-mentioned apparatus can refer to the implementation of the method, and the repeated parts will not be described again. This apparatus can be applied to an electronic device. This application does not limit the type of the electronic device, and it can be any device type suitable for implementation, such as a terminal device and a server, etc. This application will not elaborate on this.
[0170] Refer to Figure 3 As shown, it is a structural block diagram of an apparatus for switching call devices in an embodiment of this application. In some implementation manners, the apparatus for switching call devices exemplified in this application includes:
[0171] An execution unit 301, configured to execute a call operation in response to a user's call answering operation for a call application;
[0172] A startup unit 302, configured to start a cross-device call service in response to a received call device switching instruction, where the cross-device call service is used to transfer the call operation to the called device for execution;
[0173] A transmission unit 303, configured to transmit call data to the called device through the cross-device call service.
[0174] In one implementation manner, the startup unit 302 is used to:
[0175] Obtain hardware metadata of a target call hardware through a hardware collaboration service interface; the target call hardware is the hardware for making calls in the called device;
[0176] Generate a hardware call instruction based on the hardware metadata through a hardware cross-device call interface;
[0177] Send the hardware call instruction to the called device, so that the called device controls the target call hardware to execute the hardware call instruction.
[0178] In one implementation manner, the startup unit 302 is used to:
[0179] Perform device detection through a hardware collaboration service interface to obtain at least one associated device detected;
[0180] Send a hardware information acquisition request to each associated device for the hardware used for calls in at least one associated device;
[0181] Receive the hardware metadata returned by each associated device based on the hardware information acquisition request respectively;
[0182] Display the hardware metadata corresponding to at least one acquired hardware to the user;
[0183] In response to the user's hardware selection operation, determine the called device, the target call hardware and its corresponding hardware metadata.
[0184] In one implementation, the transmission unit 303 is used for:
[0185] When it is determined that call data sent by a call object is received, forward the call data to the virtual call service in the called device, so that the virtual call service calls the target call hardware to perform a call operation based on the call data.
[0186] In one implementation, the transmission unit 303 is further used for:
[0187] When it is determined that call reply data returned by the virtual call service is received, forward the call reply data to the call object.
[0188] In one implementation, the transmission unit 303 is further used for:
[0189] In response to the user's call end operation, send a call end instruction to the virtual call service;
[0190] When it is determined that a call end notification returned by the call virtual service based on the call end instruction is received, display a call end prompt message to the user.
[0191] Refer to Figure 4 As shown, it is a structural block diagram of another call device switching device in the embodiment of the present application. In some implementations, the call device switching device exemplified in the present application includes:
[0192] A control unit 401, configured to control the target call hardware to execute a call instruction when it is determined that a hardware call instruction sent by a calling device for the target call hardware is received; the target call hardware is the hardware used for calls set in the called device, and the hardware call instruction is sent by the calling device in response to a call device switching instruction for the current call of the call application;
[0193] An execution unit 402 is configured to, when determining to receive call data transmitted by a calling device through a cross-terminal call service, call a target call hardware through a virtual call service and perform a call operation based on the call data; the call data is sent by a call object to the calling device; the cross-terminal call service is used to transfer the call operation to the called device for execution.
[0194] In one implementation, the execution unit 402 is further configured to:
[0195] In response to a user's call reply operation, collect call reply data input by the user;
[0196] Through the virtual call service, return the call reply data input by the user to the calling device, so that the calling device forwards the call reply data to the call object.
[0197] In one implementation, the execution unit 402 is further configured to:
[0198] When determining to receive a call end instruction sent by the calling device, execute the call end instruction through the virtual call service;
[0199] Return a call end notification to the calling device, so that the calling device displays a call end prompt message based on the call end notification.
[0200] The method for call device switching in the embodiments of the present application includes performing a call operation in response to a call answering operation for a call application; starting a cross-terminal call service in response to a received call device switching instruction, where the cross-terminal call service is used to transfer the call operation to the called device for execution; and transmitting call data to the called device through the cross-terminal call service. In this way, the dependence on the installation of the call application is reduced, there is no need for call interruption and re-initiation of the call, the cumbersome operation of call device switching is simplified, and the user experience is improved.
[0201] In the embodiments of the present application, an electronic device is provided, including:
[0202] A processor; and
[0203] A memory storing computer instructions for causing the processor to execute the method in any of the above embodiments.
[0204] In the embodiments of the present application, a storage medium is provided, storing computer instructions for causing a computer to execute the method in any of the above embodiments. Figure 5 The structural schematic diagram of an electronic device 5000 is shown. Refer to Figure 5 As shown, the electronic device 5000 includes: a processor 5010 and a memory 5020. Optionally, it may further include a power supply 5030, a display unit 5040, and an input unit 5050.
[0205] The processor 5010 is the control center of the electronic device 5000, connecting each component through various interfaces and circuits, and performing various functions of the electronic device 5000 by running or executing software programs and / or data stored in the memory 5020, thereby monitoring the electronic device 5000 as a whole.
[0206] In the embodiments of the present application, when the processor 5010 calls the computer program stored in the memory 5020, it executes each step in the above embodiments.
[0207] Optionally, the processor 5010 may include one or more processing units; preferably, the processor 5010 may integrate an application processor and a modem processor. Among them, the application processor mainly processes the operating system, user interface, applications, etc., and the modem processor mainly processes wireless communication. It can be understood that the above modem processor may not be integrated into the processor 5010. In some embodiments, the processor and the memory may be implemented on a single chip, and in some embodiments, they may also be separately implemented on independent chips.
[0208] The memory 5020 may mainly include a program storage area and a data storage area. Among them, the program storage area may store the operating system, various applications, etc.; the data storage area may store data created according to the use of the electronic device 5000. In addition, the memory 5020 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other volatile solid-state storage devices.
[0209] The electronic device 5000 further includes a power supply 5030 (such as a battery) for supplying power to each component. The power supply can be logically connected to the processor 5010 through a power management system, so as to manage functions such as charging, discharging, and power consumption through the power management system.
[0210] The display unit 5040 can be used to display information input by the user or information provided to the user, as well as various menus of the electronic device 5000. In the embodiments of the present application, it is mainly used to display the display interfaces of various applications in the electronic device 5000 and objects such as text and pictures displayed in the display interfaces. The display unit 5040 may include a display panel 5041. The display panel 5041 may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), etc.
[0211] The input unit 5050 can be used to receive information such as numbers or characters input by the user. The input unit 5050 may include a touch panel 5051 and other input devices 5052. Among them, the touch panel 5051, also known as a touch screen, can collect touch operations of the user on or near it (such as operations of the user using any suitable object or accessory such as a finger or a stylus on or near the touch panel 5051).
[0212] Specifically, the touch panel 5051 can detect the touch operation of the user, detect the signals brought by the touch operation, convert these signals into contact coordinates, send them to the processor 5010, and receive and execute the commands sent by the processor 5010. In addition, the touch panel 5051 can be implemented in multiple types such as resistive, capacitive, infrared, and surface acoustic wave. The other input devices 5052 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, power on / off keys, etc.), trackballs, mice, joysticks, etc.
[0213] Of course, the touch panel 5051 can cover the display panel 5041. After the touch panel 5051 detects a touch operation on or near it, it transmits it to the processor 5010 to determine the type of touch event. Subsequently, the processor 5010 provides a corresponding visual output on the display panel 5041 according to the type of touch event. Although in Figure 5 the touch panel 5051 and the display panel 5041 are implemented as two independent components to realize the input and output functions of the electronic device 5000, in some embodiments, the touch panel 5051 and the display panel 5041 can be integrated to realize the input and output functions of the electronic device 5000.
[0214] The electronic device 5000 may further include one or more sensors, such as a pressure sensor, a gravitational acceleration sensor, a proximity light sensor, etc. Of course, according to the needs in specific applications, the above-mentioned electronic device 5000 may further include other components such as a camera. Since these components are not the key components used in the embodiments of this application, they are not shown in Figure 5 and will not be elaborated further.
[0215] Those skilled in the art can understand that Figure 5 this is only an example of an electronic device and does not constitute a limitation on the electronic device. It may include more or fewer components than shown in the figure, or combine some components, or different components.
[0216] For the convenience of description, the above parts are divided into various modules (or units) according to their functions and described separately. Of course, when implementing this application, the functions of the various modules (or units) can be realized in the same or multiple software or hardware.
[0217] Obviously, the above embodiments are merely examples for clear illustration and not limitations on the embodiments. For those of ordinary skill in the art, other different forms of changes or variations can be made based on the above description. It is not necessary and impossible to enumerate all the embodiments here. And the obvious changes or variations derived therefrom are still within the protection scope of the present invention.
Claims
1. A method for switching a call device, characterized in that: Applied to calling a device, the method comprises: In response to a call answering operation on the call application, executing a call operation; In response to the received call device switching instruction, a cross-end call service is started, wherein the cross-end call service is used to transfer the call operation flow to the called device for execution; The call data is transmitted to the called device through the cross-end call service.
2. The method according to claim 1, characterized in that The cross-end call service startup includes: Obtaining hardware metadata of target call hardware through a hardware collaboration service interface; the target call hardware is hardware used for calls in the called device; Generate a hardware call instruction based on the hardware metadata through a hardware cross-device call interface; The hardware calling instruction is sent to the called device, so that the called device controls the target call hardware to execute the hardware calling instruction.
3. The method according to claim 2, characterized in that The hardware metadata of the target call hardware is obtained through the hardware coordination service interface, including: Performing device detection through the hardware collaborative service interface to obtain at least one detected associated device; For hardware used for calls in the at least one associated device, sending a hardware information acquisition request to each associated device respectively; Receiving hardware metadata returned by each associated device based on the hardware information acquisition request respectively; Displaying the obtained hardware metadata corresponding to at least one hardware to the user; In response to the user's hardware selection operation, the called device, the target call hardware and the corresponding hardware metadata are determined.
4. The method according to claim 2 or 3, characterized in that: The transmitting the call data to the called device through the cross-end call service includes: When it is determined that call data sent by the call object is received, the call data is forwarded to the virtual call service in the called device, so that the virtual call service calls the target call hardware to perform a call operation based on the call data.
5. The method according to claim 4, characterized in that The method further comprises: When it is determined that the call reply data returned by the virtual call service is received, the call reply data is forwarded to the call object.
6. The method according to claim 4, characterized in that The method further comprises: In response to a call ending operation of the user, sending a call ending instruction to the virtual call service; When it is determined that a call ending notification returned by the call virtual service based on the call ending instruction is received, a call ending prompt message is displayed to the user.
7. A method for switching a call device, characterized in that: Applied to the called device, the method includes: When it is determined that a hardware call instruction sent by the calling device to the target call hardware is received, the target call hardware is controlled to execute the call instruction; the target call hardware is hardware set in the called device for the call, and the hardware call instruction is sent by the calling device in response to a call device switching instruction for the current call of the call application; When it is determined that the call data transmitted by the calling device through the cross-end call service is received, the target call hardware is called through the virtual call service, and a call operation is performed based on the call data; the call data is sent to the calling device by the call object; the cross-end call service is used to transfer the call operation flow to the called device for execution.
8. The method according to claim 7, characterized in that The method further comprises: In response to a call reply operation of the user, collecting call reply data input by the user; The call reply data input by the user is returned to the calling device through the virtual call service, so that the calling device forwards the call reply data to the call object.
9. The method according to claim 7 or 8, characterized in that: The method further comprises: When it is determined that a call ending instruction sent by the calling device is received, executing the call ending instruction through the virtual call service; A call end notification is returned to the calling device, so that the calling device displays call end prompt information to the user based on the call end notification.
10. A device for switching a call device, characterized in that: Applied to calling a device, the device comprises: an execution unit, configured to execute a call operation in response to a call answering operation of a user on a call application; A starting unit, configured to start a cross-end call service in response to a received call device switching instruction, wherein the cross-end call service is configured to transfer the call operation flow to the called device for execution; A transmission unit is used to transmit call data to the called device through the cross-end call service.
11. A device for switching a call device, characterized in that: Applied to a called device, the apparatus comprises: A control unit, configured to control the target call hardware to execute the call instruction when receiving a hardware call instruction sent by the calling device to the target call hardware; the target call hardware is hardware used for calls set in the called device, and the hardware call instruction is sent by the calling device in response to a call device switching instruction for a current call of the call application; An execution unit is used to determine that when receiving call data transmitted by the calling device through the cross-end call service, the target call hardware is called through the virtual call service to perform a call operation based on the call data; the call data is sent to the calling device by the call object; the cross-end call service is used to transfer the call operation flow to the called device for execution.
12. An electronic device, characterized in that: include: processor; as well as A memory storing computer instructions, wherein the computer instructions are used to enable the processor to execute the method according to any one of claims 1 to 9.
13. A storage medium, characterized in that: Computer instructions are stored, and the computer instructions are used to make a computer execute the method according to any one of claims 1 to 9.