Communication method, electronic device, readable storage medium and program product
Patent Information
- Application Number
- CN202511399231.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-26
- Publication Date
- 2026-10-16
- Estimated Expiration
- 2045-09-26
AI Technical Summary
[0003]但是,目前的无网通信方案需要设备间建立点对点(point to point,P2P)的通信连接,因而仅支持一对一发送无网消息或进行语音对讲,无法支持三个设备以上的多人之间进行无网通信
[0066] The beneficial effects of the second to eighth aspects mentioned above can be referred to the relevant descriptions in the first aspect and various possible implementations of the first aspect, which will not be repeated here.
Smart Images

Figure CN122027994B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, specifically to a communication method, electronic device, readable storage medium, and program product. Background Technology
[0002] Wireless communication refers to a communication method that achieves data transmission through direct communication between devices without the support of an external network. This method does not rely on cellular networks, Wi-Fi, or satellite communication infrastructure, and can meet communication needs in areas with signal coverage blind spots or in emergency situations. Currently, wireless communication technologies supporting wireless communication include Bluetooth (BT), SparkLink, or other proprietary communication protocols. Considering power consumption, some electronic devices supporting wireless communication can use Bluetooth Low Energy (BLE) and other communication technologies to enable one-on-one conversations with nearby users, such as sending text messages, making voice calls, or conducting walkie-talkies.
[0003] However, current wireless communication solutions require point-to-point (P2P) communication connections between devices, thus only supporting one-to-one sending of wireless messages or voice communication, and cannot support wireless communication between more than three devices or multiple users. Therefore, current wireless communication solutions cannot meet users' communication needs in wireless communication scenarios involving multiple participants, resulting in a poor user experience. Summary of the Invention
[0004] This application provides a communication method, electronic device, readable storage medium, and program product for improving the user's communication experience in offline states.
[0005] In a first aspect, this application provides a communication method applied to a first device, wherein the first device is in a state without network connection, the method comprising: receiving a first intercom instruction; and responding to the first intercom instruction by broadcasting a voice message through at least two broadcast channels, wherein the voice message is a broadcast message generated based on voice data collected by the first device.
[0006] For example, the first device mentioned above can be a mobile phone, tablet computer, laptop computer, smart TV, large-screen device, wearable device, or other terminal electronic device. In some embodiments, the first device can be an electronic device that initiates an intercom or creates an intercom group; correspondingly, the first device can be the group owner device within the relevant intercom group. In other embodiments, the first device can also be a member device that has joined an existing intercom group; this is not a limitation.
[0007] The aforementioned first device being in a network-unconnected state refers to a state where the first device cannot communicate via mobile wireless communication signals such as cellular networks, or simply a network-unconnected state. The communication method provided in this application supports the transmission of voice data by broadcasting voice messages through broadcast channels. Other devices can obtain voice data and play the voice by scanning each broadcast channel, thereby enabling group intercom functionality in network-unconnected communication scenarios.
[0008] It is understood that communication technologies supporting offline communication, such as StarFlash, StarFlash Low Power, Bluetooth, and Bluetooth Low Energy, can provide multiple broadcast channels for transmitting voice messages, i.e., at least two broadcast channels as mentioned above. These at least two broadcast channels may include a basic broadcast channel or extended broadcast channels; no limitation is made here. Thus, the first device, based on the communication method provided in this application, can broadcast voice messages on at least two broadcast channels, which helps improve the reliability of voice messages being scanned and received by multiple surrounding devices.
[0009] In one possible implementation of the first aspect above, the above-mentioned broadcasting of voice messages through at least two broadcast channels includes: after receiving the first intercom instruction for a first time period, broadcasting N first voice messages through the at least two broadcast channels, where N is a positive integer, and the first voice messages are broadcast messages generated based on the first voice data collected by the first device during the first time period.
[0010] To further improve the reliability of voice data transmission, the communication method provided in this application can control a delay of a certain period (i.e., the first time period mentioned above) after the user presses the intercom button, and then encode the voice data collected during that period (such as the first voice data mentioned above) into a voice message (such as the first voice message mentioned above). Then, the voice message is transmitted in multiple broadcast cycles during the next time period (such as the second time period mentioned below), while simultaneously collecting user-input voice data continuously during that time period. This improves the transmission reliability of broadcast voice messages during group intercom, thereby enhancing the robustness of related electronic devices providing group intercom functionality and improving the user experience.
[0011] In one possible implementation of the first aspect above, the above-mentioned broadcasting of voice messages through at least two broadcast channels further includes: broadcasting N second voice messages through the at least two broadcast channels, wherein the second voice messages are broadcast messages generated based on second voice data collected by the first device during a second time period, and the start time of the second time period is the end time of the first time period.
[0012] For example, the voice message generated from the voice data collected within the current time period can be broadcast in the next time period. Similarly, the second voice message generated from the second voice data collected within the second time period can be broadcast in the third time period following the second time period. That is, the first device can simultaneously collect the second voice data while broadcasting the first voice message generated from the first voice data collected within the first time period according to the broadcast cycle during the second time period. The start time of the second time period is the end time of the first time period, meaning the second and first time periods can be consecutive. Similarly, the third time period can also be a consecutive time period following the second time period.
[0013] In one possible implementation of the first aspect above, the second time period includes N broadcast cycles, and the broadcasting of N first voice messages through the at least two broadcast channels includes: broadcasting the first voice messages through the at least two broadcast channels respectively within the N broadcast cycles.
[0014] In one possible implementation of the first aspect above, the first time period and the second time period are time periods of equal duration.
[0015] In the embodiments of this application, the first time period, the second time period, and the subsequent third time period, etc., can all be time periods of equal duration. The duration of each time period can be preset to N times the broadcast period, i.e., broadcast period * N, to facilitate control over the periodic transmission of each voice message within each broadcast period. In other embodiments, the first time period, the second time period, the third time period, etc., may not be integer multiples of the broadcast period, and this is not a limitation.
[0016] In one possible implementation of the first aspect above, the first intercom instruction includes any one of the following: an intercom instruction generated by a long press operation on the first intercom key in the first intercom interface displayed on the first device; an intercom instruction generated by a long press operation on the first button of the first device; or an intercom instruction from a collaborative device that has established a collaborative connection with the first device.
[0017] For example, the first intercom interface mentioned above can be a group intercom interface, such as the intercom interface displayed on the mobile phone below. Correspondingly, the first intercom button mentioned above can be the intercom button on the mobile phone's intercom interface, as shown below. Figure 2d The descriptions and related information shown will not be repeated here.
[0018] When the first device detects a user's long-press operation on the intercom button and their speech, the first device can receive the corresponding generated intercom command. If the first device is in a locked screen state but still in intercom mode, or if the first device displays the desktop but is still in intercom mode, the first device can receive the corresponding generated intercom command based on the user's long-press operation on a button with preset PTT intercom function (such as the "volume +" button). In other embodiments, if the first device is connected to a collaborating device, such as a wearable device, remote control, or stylus, it can also receive intercom commands from the collaborating device. The intercom command from the collaborating device can be triggered by the user's long-press operation on a button with preset PTT intercom function on the collaborating device. In the case of a wearable device, such as a watch, the watch can also generate relevant intercom commands by detecting the user's wrist movement or other preset body movements while the user is wearing it, and send them to the first device via the collaborating connection; this is not limited to this specific case.
[0019] In one possible implementation of the first aspect above, the method further includes: during the first time period, broadcasting a first message through the at least two broadcast channels, wherein the first message is used to preempt the at least two broadcast channels.
[0020] For example, the first message mentioned above is a preemption message, which can be recorded as the first preemption message. It can be understood that while collecting user-input voice data during the first time period, in order to ensure preemption of each broadcast channel, the first device can broadcast preemption messages during each broadcast cycle of that first time period. Thus, at the end of the first time period, the first device can use the preempted broadcast channels to broadcast voice messages.
[0021] It is understandable that once the first time period ends and the first device begins broadcasting voice messages using the preempted broadcast channels, it can stop sending the preemption messages. Furthermore, when a user finishes speaking, the electronic device can release the occupied broadcast channels after broadcasting the last generated voice message, allowing other users to press the intercom button to communicate.
[0022] In one possible implementation of the first aspect above, the above-mentioned broadcasting of the first message through the at least two broadcast channels includes: in response to the first intercom instruction, obtaining the scanning results of the at least two broadcast channels within a fourth time period prior to the current time, wherein the end time of the fourth time period is earlier than the start time of the first time period; determining, based on the scanning results, that the at least two broadcast channels are not occupied; and broadcasting the first message through the at least two broadcast channels.
[0023] It is understandable that the aforementioned fourth time period can be a preset time period before the moment the user presses the intercom button to start speaking, or it can be described as a preset time period before the current moment, such as "1 second" or other time periods. The first device can scan each broadcast channel within this time period. If no voice message or preemption message is received, it indicates that there is no voice message or preemption message being transmitted in each broadcast channel, and each broadcast channel has not yet been occupied.
[0024] In one possible implementation of the first aspect above, the method further includes: determining, based on the scanning results of the at least two broadcast channels, that the at least two broadcast channels have been occupied; and outputting a prompt message indicating a failed preemption, wherein the prompt message includes one or more of the following: sound information, vibration information, text, images, or animation information displayed in the first intercom interface.
[0025] In one possible implementation of the first aspect above, the first intercom interface further includes a user identifier of the first device and user identifiers of at least two second devices, wherein at least one of the user identifiers displays a no-network marker, which is used to indicate that the device used by the corresponding user is in the no-network connection state.
[0026] For example, the aforementioned non-net marker can be displayed on the avatars of each member participating in the group chat, as shown below. Figure 2c As shown and described. In other embodiments, the aforementioned non-grid markers may also be displayed in other reasonable locations on the relevant intercom interface, and this is not a limitation.
[0027] In one possible implementation of the first aspect above, the first intercom interface is triggered to be displayed in either of the following ways: a click operation on a first control of the first interface is detected, and the first intercom interface is displayed, wherein the first control is used to enable the intercom function in the state of no network connection; or, a click operation on a second control of the second interface is detected, and the first intercom interface is displayed, wherein the second control is used to join a first intercom group, and the devices used by the members of the first intercom group include at least one device in the state of no network connection.
[0028] For example, the first interface mentioned above could be the group chat interface of a chat group joined by the user of the first device. Correspondingly, the first control mentioned above could be a walkie-talkie control in the relevant group chat interface that supports initiating a walkie-talkie, as described below. Figure 2aAnd related descriptions. At this point, the first device can be the group owner device that initiates the intercom and creates the intercom group (such as the first intercom group mentioned above). Given that chat groups provide a shared space for members of a specific group to chat, offering high security, the coverage of the group owner device initiating intercoms and creating intercom groups within the group chat interface can also be controlled within the scope of members of that specific group, further enhancing security. Furthermore, after the group owner device initiates an intercom or creates an intercom group, various broadcast messages sent during processes such as other members joining the intercom group, members using voice intercom, broadcasting their own location, and leaving the intercom group can be encrypted using the key pre-generated during chat group creation, thus also improving security.
[0029] For example, the second interface mentioned above could be a join control in the relevant group chat interface that allows joining walkie-talkie groups initiated by other members, as shown below. Figure 2c or Figure 4a As shown and related descriptions. At this point, the first device can be a member device that has joined a walkie-talkie group created by other members.
[0030] It is understood that during the process of the first device initiating or joining a group intercom and the first device being in intercom mode, one or more member devices in the first intercom group may be in a state without network connection (i.e., without network). Thus, the communication method provided in this application can support multiple participants in intercom in network-free communication scenarios, which is beneficial to improving the user's communication experience.
[0031] In one possible implementation of the first aspect above, the first interface includes a chat interface for a first group joined by a user of the first device using a first application, the first control is further used to trigger the creation of the first intercom group, and the method further includes: detecting a click operation of the first control acting on the first interface, broadcasting a first heartbeat message through the at least two broadcast channels, wherein the first heartbeat message includes an intercom invitation, the intercom invitation being used to invite at least two second devices to join the first intercom group; based on the join messages from the at least two second devices, broadcasting a second heartbeat message through the at least two broadcast channels, wherein the join message at least includes identification information of the account logged in by the second device and identification information of the second device, and the second heartbeat message is at least used to broadcast member list information of the first intercom group, the member list information including device information of the at least two second devices.
[0032] In this embodiment, the chat interface of the first group can include the group chat interface of the relevant chat group. The first group can be a chat group joined by the user of the first device, such as "Hiking Group," "Modern Family," "Loving Family," etc., without limitation. After the first device or other member devices initiate a conversation in the relevant group chat interface, a join invitation can be displayed in the group chat interface, as described below. Figure 2c or Figure 4a As shown and related descriptions. If the first device or other member devices click the join control in the group chat interface displaying the join invitation to receive the join invitation, they can broadcast a join message. After the group owner device of the first intercom group obtains the join message by scanning each broadcast channel, it can determine the account information (such as account ID) and device information (such as device ID) logged in on the device joining the first intercom group.
[0033] In one possible implementation of the first aspect above, the first heartbeat message includes the identification information of the first group, the identification information of the first intercom group, the first member list information of the first intercom group, the identification information of the first device, and the first location information of the first device at a first moment, wherein the first moment corresponds to the moment when the first heartbeat message is generated; the second heartbeat message includes the identification information of the first group, the identification information of the first intercom group, the second member list information of the first intercom group, the identification information of the first device, and the second location information of the first device at a second moment, wherein the second member list information includes the device information of at least two second devices, and the second moment corresponds to the moment when the second heartbeat message is generated.
[0034] For example, the first device mentioned above is the group owner device. When creating the first intercom group, the group owner device can broadcast a heartbeat message carrying a list of member information (such as the first heartbeat message mentioned above). If a new member joins the first intercom group, the group owner device can broadcast a corresponding updated heartbeat message in the next broadcast cycle (such as the second heartbeat message mentioned above). The member list information carried in the updated heartbeat message may include the new member's account ID and the device ID of the device used.
[0035] In one possible implementation of the first aspect above, the receiving device for the voice message includes at least two second devices, and the method further includes: receiving a third heartbeat message from a third device, wherein the third heartbeat message includes identification information of the third device and current third location information of the third device, and the at least two second devices include the third device; and updating the location of the user identifier corresponding to the third device in the first intercom interface to the location indicated by the third location information based on the identification information and the third location information of the third device.
[0036] For example, after joining the first intercom group and entering intercom mode, each member device, such as the third device mentioned above, can periodically or when a location update occurs, broadcast a third heartbeat message (also known as a member heartbeat message) carrying the device ID and current location information to share its location with other members.
[0037] Thus, the communication method provided in this application can support multi-person intercom while also allowing multiple participants to share their real-time location. This enables participating devices to display whether each communicating device is within each other's broadcast coverage area, and to show whether each device can currently send and receive voice messages via offline communication, thereby improving the user's communication experience.
[0038] In one possible implementation of the first aspect above, the method further includes: determining that the scanning and receiving result of the third heartbeat message meets the state switching condition, and updating the first state flag corresponding to the user identifier of the third device to a second state flag in the first intercom interface, wherein the state indicated by the first state flag is different from the state indicated by the second state flag.
[0039] For example, the first status flag may indicate an online state, and the second status flag may indicate an offline state. In this case, updating the first status flag to the second status flag corresponds to a switch from an online state to an offline state.
[0040] In other embodiments, the state indicated by the first state flag may also be an offline state, and correspondingly, the state indicated by the second state flag may be an online state. In this case, updating the first state flag to the second state flag may correspond to a switch from an offline state to an online state.
[0041] In this way, by using different status flags to indicate the online or offline status of multiple member devices participating in the intercom, users can intuitively understand whether other member devices can successfully scan and receive broadcast messages, which also helps to improve the user's communication experience.
[0042] In one possible implementation of the first aspect above, after broadcasting the first message through the at least two broadcast channels, the method further includes: receiving a second message from a fourth device, the second message being used to preempt the at least two broadcast channels; and based on the second message, sending a third message through the at least two broadcast channels, the third message being used to reject the fourth device's preemption of the at least two broadcast channels.
[0043] For example, the second message mentioned above is a preemption message, which can be recorded as the second preemption message, and the third message mentioned above is a rejection message. If the first device has already preempted the broadcast channel, the first device can broadcast a rejection message based on the preemption message sent by a member device that sent the preemption message later (such as the fourth device mentioned above). This preemption mechanism can ensure the first device's stable use of the data channels used for transmitting voice messages in each broadcast channel, and also helps improve the user experience.
[0044] In one possible implementation of the first aspect above, the method further includes: receiving an exit message from a fifth device; and broadcasting a fourth heartbeat message through the at least two broadcast channels based on the exit message, wherein the fourth heartbeat message is used to broadcast third member list information, and the third member list information does not include the device information of the fifth device.
[0045] It is understandable that once a device enters intercom mode, it can also respond to the user's instruction to leave the intercom group by broadcasting a leave message carrying its own device ID. After the group leader device (such as the first device) receives the leave message on the broadcast channel, it can delete the device information and related user information that have left the intercom group from the maintained intercom member list information, and broadcast the member list information after deleting some members through a new heartbeat message to synchronize with other member devices.
[0046] Secondly, this application provides a communication method applied to a second device, wherein the second device is in a state without network connection. The method includes: receiving a voice message from a first device through any one of at least two broadcast channels, wherein the voice message is a broadcast message generated from voice data collected by the first device; and playing the voice corresponding to the voice message.
[0047] For example, the second device mentioned above can be a member device in the first intercom group that has not preempted the broadcast channel to send voice messages. The second device can receive and play voice data input by other members through the intercom key, thereby supporting voice communication between users and other members.
[0048] In one possible implementation of the second aspect above, the method includes: receiving a first message from the first device through any one of the at least two broadcast channels during a first time period, wherein the first message is used to preempt the at least two broadcast channels.
[0049] In one possible implementation of the second aspect described above, the method further includes: receiving a second intercom command; and outputting a preemption failure prompt message based on the received first message or voice message. The prompt message includes one or more of the following: sound information, vibration information, text, images, or animation effects displayed on the first intercom interface.
[0050] In one possible implementation of the second aspect above, the method further includes: receiving a second intercom instruction; broadcasting a second message through the at least two broadcast channels based on the absence of the first message or the voice message, wherein the second message is used to preempt the at least two broadcast channels; and outputting a preemption failure prompt message based on a third message received from the first device, wherein the third message is used to refuse to preempt the at least two broadcast channels.
[0051] In one possible implementation of the second aspect above, the second intercom instruction includes any one of the following: an intercom instruction generated by a long press operation on the second intercom key in the second intercom interface displayed on the second device; an intercom instruction generated by a long press operation on the second key of the second device; or an intercom instruction from a collaborative device that has established a collaborative connection with the first device.
[0052] The aforementioned second intercom command can be an intercom command generated by the user of the second device (such as the second user or user B) pressing the intercom button, or an intercom command generated by the user of the second device pressing and holding a button with the preset PTT intercom function, or an intercom command sent by a collaborative device connected to the second device, such as a wearable device, remote control, or stylus, through collaborative connection. No restrictions or details are provided here.
[0053] In one possible implementation of the second aspect above, the first device is an electronic device that initiates an intercom and creates a first intercom group, and the method further includes: receiving a first heartbeat message from the first device through any one of the at least two broadcast channels, wherein the first heartbeat message includes an intercom invitation for inviting at least two of the second devices to join the first intercom group; displaying a second interface including a second control for joining the first intercom group; detecting a click operation on the second control and displaying the second intercom interface.
[0054] It is understandable that the second device, as the invited device, can display an interface containing an intercom invitation when it receives the first heartbeat message sent after the first device initiates an intercom and creates the first intercom group. The intercom invitation displayed on this interface can be presented in the form of intercom controls, etc., as detailed below. Figure 4aThe descriptions shown and related information are not limited or elaborated upon here.
[0055] In one possible implementation of the second aspect above, the method further includes: broadcasting a join message through the at least two broadcast channels, wherein the join message includes at least the identification information of the account logged in by the second device and the identification information of the second device.
[0056] In one possible implementation of the second aspect above, the second intercom interface includes a third control for exiting the first intercom group, and the method further includes: detecting a click operation on the third control and displaying a third interface, wherein the third interface includes a confirmation notification related to exiting the first intercom group, and the confirmation notification is used to instruct the user to confirm whether to exit the first intercom group.
[0057] For example, the confirmation notification mentioned above may prompt "Do you want to exit the intercom?", as detailed below. Figure 4b As shown and related descriptions.
[0058] Thus, the communication method provided in this application can support each member device participating in the group intercom to leave the group intercom according to the user's wishes, and give the user sufficient reminders before leaving the intercom group, which also helps to improve the user experience.
[0059] In one possible implementation of the second aspect above, the method further includes: broadcasting an exit message through the at least two broadcast channels, wherein the exit message is used to indicate exiting the first intercom group.
[0060] Thirdly, this application provides a communication system comprising at least a first device and at least two second devices, wherein the first device is used to execute the communication methods provided in the first aspect and various possible implementations thereof; and each of the second devices is used to execute the communication methods provided in the second aspect and various possible implementations thereof.
[0061] Fourthly, this application provides an electronic device, comprising: one or more processors; one or more memories; wherein the one or more memories store one or more programs, which, when executed by the one or more processors, cause the electronic device to perform the communication methods provided in the first aspect and various possible implementations thereof, or cause the electronic device to perform the communication methods provided in the second aspect and various possible implementations thereof.
[0062] Fifthly, this application provides a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the communication methods provided in the first aspect and various possible implementations thereof, or cause the computer to perform the communication methods provided in the second aspect and various possible implementations thereof.
[0063] Sixthly, this application provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the communication method provided in the first aspect and various possible implementations of the first aspect, or the computer program / instruction, when executed by a processor, implements the communication method provided in the second aspect and various possible implementations of the second aspect.
[0064] In a seventh aspect, this application provides an apparatus comprising: a module for performing the communication method provided in the first aspect and various possible implementations thereof; or, a module for performing the communication method provided in the second aspect and various possible implementations thereof.
[0065] Eighthly, this application provides a chip including at least one processor and at least one memory coupled for executing a computer program stored in the at least one memory, such that the chip performs the communication methods provided in the first aspect and various possible implementations of the first aspect.
[0066] The beneficial effects of the second to eighth aspects mentioned above can be referred to the relevant descriptions in the first aspect and various possible implementations of the first aspect, which will not be repeated here. Attached Figure Description
[0067] Figure 1a The diagram shown is a schematic of a multi-user communication scenario provided in an embodiment of this application.
[0068] Figure 1b The image shown is a schematic diagram of a mobile phone interface in a network-free state according to an embodiment of this application.
[0069] Figure 2a The diagram shown is a schematic representation of the interface changes for initiating a group intercom on a device that supports offline communication, according to an embodiment of this application.
[0070] Figure 2b The diagram shown is a schematic representation of an interface for a device supporting offline communication to display another signal icon, according to an embodiment of this application.
[0071] Figure 2c The diagram shows a group intercom interface and a group chat interface displaying intercom invitations provided in an embodiment of this application.
[0072] Figure 2d The diagram shows a group intercom interface provided in an embodiment of this application, and a schematic diagram of the interface when a user presses and holds the intercom button to speak.
[0073] Figure 3a The diagram shown is a schematic representation of the interface changes when a mobile phone exits the intercom interface or the group chat interface, as provided in an embodiment of this application, and displays the intercom live feed window.
[0074] Figure 3b The image shown is a desktop illustration of another display window showing intercom activity provided in an embodiment of this application.
[0075] Figure 3c The diagram shown is a lock screen interface displaying a live view card, according to an embodiment of this application.
[0076] Figure 4a The diagram shown is a schematic representation of an interface that displays a walkie-talkie invitation and supports joining a walkie-talkie group, according to an embodiment of this application.
[0077] Figure 4b The diagram shows a walkie-talkie interface and a diagram of the interface for leaving a walkie-talkie group, provided in an embodiment of this application.
[0078] Figure 4c The diagram shown is a schematic representation of an intercom interface and an interface displaying a list of intercom members, provided in an embodiment of this application.
[0079] Figure 5 The diagram shown is a schematic representation of the implementation process of a communication method executed by a sending device according to an embodiment of this application.
[0080] Figure 6 The diagram shown is a schematic diagram of a communication principle for controlling the broadcast transmission of voice data after a first time delay, according to an embodiment of this application.
[0081] Figure 7 The diagram shown is a schematic representation of the interactive implementation process of a communication method that supports group intercom and location sharing, provided in an embodiment of this application.
[0082] Figure 8 The figure shown is a timing flowchart of a communication method provided in an embodiment of this application.
[0083] Figure 9 The diagram shown is a schematic representation of the interactive implementation process of another communication method based on a preemption mechanism provided in this application embodiment.
[0084] Figure 10 The figure shown is a timing flowchart of another communication method provided in an embodiment of this application.
[0085] Figure 11The diagram shown is a schematic diagram of the protocol stack structure of a Star Flash message provided in an embodiment of this application.
[0086] Figure 12 The figure shown is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0087] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions in the embodiments of this application will be described in detail below with reference to the accompanying drawings and specific implementation methods.
[0088] The method provided in this application can be applied to any electronic device, including but not limited to mobile stations (MS) and mobile terminals (MT). For example, the electronic device can be a mobile phone, a foldable phone, a smart TV, a wearable device, a tablet computer, a desktop computer, a laptop computer (e.g., a virtual reality (VR) device, an augmented reality (AR) device, a terminal in industrial control, a terminal in self-driving, a terminal in remote medical surgery, a terminal in a smart grid, a terminal in transportation safety, a terminal in a smart city, a terminal in a smart home, etc., as well as remote controls, styluses, etc., that are connected in conjunction with the terminal. This application does not limit the specific form of the electronic device.
[0089] For example, the wearable device in the embodiments of this application can be a wired headphone, a wireless headphone (e.g., a TWS Bluetooth headphone, a neckband Bluetooth headphone, or a headband Bluetooth headphone), a smartwatch, a smart bracelet, smart glasses, a smart ankle bracelet, a smart ring, a smart necklace, an augmented reality (AR) device, a virtual reality (VR) device, etc. This application does not impose any special restrictions on the specific form of the wearable device.
[0090] Figure 1a A schematic diagram of a multi-person communication scenario is shown.
[0091] like Figure 1aAs shown, this scenario can include multiple people communicating using mobile phones. In some embodiments, this scenario could be, for example, multiple people going hiking together. In other embodiments, this scenario could be, for example, a corporate team-building activity, etc., and is not limited thereto. In this multi-person communication scenario, if all the mobile phones of the multiple people are connected to the network, then multi-person communication can be achieved based on the wireless network connected to each mobile phone.
[0092] However, if Figure 1a If the mobile phones of multiple people shown are in a state of no network connection (referred to as no network state), that is, they cannot communicate through mobile wireless communication signals such as cellular networks, then multi-person communication cannot be achieved.
[0093] Figure 1b An embodiment of this application illustrates a schematic diagram of a mobile phone interface in a network-free state.
[0094] like Figure 1b As shown, mobile phone 00 can be the above Figure 1a In the scenario shown, any mobile phone used by any person can display a no-network message 102 on the chat interface 101 of phone 00, such as "Currently unable to connect to the network, please check...". Furthermore, the mobile signal 103 in the top status bar of phone 00 will show a no-network status.
[0095] As mentioned earlier, current wireless communication solutions require a point-to-point communication connection between devices, such as Bluetooth connections, and therefore only support the aforementioned... Figure 1a The scenario shown involves one-to-one wireless communication between individuals, which cannot support wireless communication between more than three people and multiple devices. Therefore, current wireless communication solutions cannot meet users' communication needs in some multi-person wireless communication scenarios, resulting in a poor user experience.
[0096] To address the aforementioned issues, this application provides a communication method that, in the absence of a network connection, broadcasts user-input voice data through at least two broadcast channels. The voice messages generated corresponding to this voice data can be scanned and received by multiple devices that have joined the intercom, thereby enabling multi-person intercom functionality in the absence of a network. This can meet the group intercom needs in some network-free communication scenarios and improve the user experience.
[0097] Furthermore, the communication method provided in this application supports multi-person intercom while also allowing multiple participants to share their real-time location. Thus, the multiple devices participating in the intercom can display whether each communicating device is within each other's broadcast coverage area, and present the current status of each device's ability to send and receive voice messages via offline communication.
[0098] Furthermore, to improve the reliability of data transmission in multi-person intercom, the communication method provided in this application can control a delay (denoted as the first time period) after the user presses the intercom button, and then encode the voice data collected during this time period into voice messages. These voice messages are then transmitted in multiple broadcast cycles within the next time period, while simultaneously collecting user-input voice data continuously during this time period. This improves the transmission reliability of broadcast voice messages during group intercom, thereby enhancing the robustness of related electronic devices providing group intercom functionality and improving the user experience.
[0099] The broadcast period refers to the time interval between two consecutive broadcast messages or broadcast events sent on a broadcast channel, also known as the broadcast interval.
[0100] It is understandable that, while collecting user-input voice data during the aforementioned first time period, the electronic device can broadcast a preemption message during each broadcast cycle within this first time period to ensure the preemption of each broadcast channel. Thus, at the end of the first time period, the electronic device can use the preempted broadcast channels to broadcast voice messages. When the user finishes speaking, after broadcasting the last generated voice message, the electronic device can release the occupied broadcast channel, at which point other users can press the intercom button, preempt the broadcast channel, and input voice messages.
[0101] In other embodiments, the term "group intercom" may also be described as "multi-person intercom" or other terms, without limitation. For the sake of consistency, "group intercom" will be used as the term in the following description.
[0102] The following description, in conjunction with the accompanying diagrams, provides an illustrative overview of the processes of initiating a group intercom, joining a group intercom, pressing the intercom button to send a voice message in the intercom interface, displaying the location and status of each member in the intercom interface, and exiting the group intercom.
[0103] As an example, Figure 2a According to an embodiment of this application, a schematic diagram of interface changes for initiating group intercom on a device that supports offline communication is shown.
[0104] like Figure 2a As shown, taking the mobile phone 10 used by user A who initiates the intercom as an example, mobile phone 10 can display a chat interface 210 when it supports offline communication. The chat interface 210 can display a notification 211 related to "offline communication enabled". For example, the content of notification 211 can be "Network not connected, you can contact nearby friends offline" or other content, which is not limited here.
[0105] Continue to refer to Figure 2aThe mobile signal in the top status bar of the chat interface 210 still shows as no network, but the signal icon 212 for no-network communication can still be displayed in the top status bar. Taking a mobile phone 10 that supports no-network communication via Spark Link Low Energy (SLE) as an example, the style of the signal icon 212 can be referenced above. Figure 2a The style shown is as follows. Taking a mobile phone 10 that supports offline communication via BLE as an example, the style of the signal icon 212 above can be referenced. Figure 2b As shown. In other embodiments, the signal icon for offline communication displayed on the mobile phone 10 may also use other styles, which are not limited here.
[0106] In some embodiments, the chat interface 210 displayed on the mobile phone 10 can display the dialog box of the chat group (referred to as group chat) that user A has joined, for example... Figure 2a The chat interface 210 may also display a dialog box for the "hiking group" shown. In some embodiments, the chat interface 210 may also display a dialog box between user A and a friend, for example... Figure 2a The dialog boxes shown with "Alex", "Andy", and "Tony" are not limited here. Phone 10 responds to user A's click on the "Hiking Group" dialog box and can display the group chat interface 220.
[0107] Continue to refer to Figure 2a In the group chat interface 220, a multi-functional control 221 can be displayed. In response to user A's click on the multi-functional control 221, the mobile phone 10 can display a walkie-talkie control 222 within the corresponding multi-functional area. In this embodiment, the walkie-talkie control 222 can support user A to initiate group walkie-talkies to members of the current group chat (e.g., a "hiking group").
[0108] When user A initiates a group talk, mobile phone 10 can broadcast a talk invitation. This invitation can be broadcast as a heartbeat message, which can be designated as the first heartbeat message. This heartbeat message can be scanned and received by electronic devices used by other members of the chat group (e.g., a "hiking group," which can be designated as the first group). It is understood that the information carried in the first heartbeat message may include the chat group identification information (ID), the ID of the first talk group created corresponding to the initiating talk, the list of members who have joined the first talk group, the device ID of mobile phone 10 that initiated the talk, and the current location information of mobile phone 10. The current location information of mobile phone 10 may include, for example, the latitude and longitude, floor level, and other information obtained by mobile phone 10 based on the positioning system, as well as the current orientation angle obtained by mobile phone 10 based on the inertial measurement unit (IMU). The orientation angle may be, for example, the angle between the direction of the major axis of mobile phone 10 pointing to its top and the geographical south direction, indicating the orientation of the top of mobile phone 10; this is not limited here.
[0109] After receiving the first heartbeat message, the devices used by other members in the chat group can display a talk invitation in the relevant group chat interface, and can also display a notification related to initiating a talk with user A in the lock screen or desktop status bar. At this time, after initiating a talk with phone 10, it can directly enter the group talk interface.
[0110] As an example, Figure 2c An embodiment of this application illustrates a group intercom interface and a schematic diagram of a group chat interface displaying intercom invitations.
[0111] like Figure 2c As shown, after user A initiates a conversation, mobile phone 10 can display a conversation interface 230. This conversation interface 230 may include a return control 231, an exit control 232, and a conversation member display area 233. The return control 231 can be used to return to the previous interface, such as the group chat interface 220 mentioned above. The exit control 232 can be used to exit the current conversation group. The conversation member display area 233 can display the avatars and network status of some members currently in the conversation group. For example, some members' avatars may display a "no network" marker 234, while other members with network access may not display this marker. The conversation member display area 233 can also display the number of members currently in the conversation group, such as "3" or other numbers.
[0112] It is understood that mobile phone 20 may be an electronic device used by other members (such as user B) in the relevant chat group. After receiving the first heartbeat message sent by mobile phone 10 in response to user A's initiation of the intercom operation, mobile phone 20 can display an intercom invitation on the relevant interface. The relevant interfaces involved in the process of mobile phone 20 displaying the intercom invitation and responding to user B's instruction to accept the intercom invitation and join the intercom group will be introduced in the following text with reference to the relevant attached figures, and will not be elaborated here.
[0113] Continue to refer to Figure 2c The mobile phone 10 can also display the group chat interface 240 in response to the user's click on the return control 231 in the aforementioned intercom interface 230. (This is in contrast to the above.) Figure 2a The difference between the group chat interface 220 and the one shown is that the group chat interface 240 can display a walkie-talkie invitation 241. As an example, this walkie-talkie invitation 241 can display a join control 242, as well as the avatars and text descriptions (e.g., "Amy and others are talking") of some of the members currently speaking, or other content, without limitation. At this time, the mobile phone 10, as the device initiating the walkie-talkie, can respond to user A's click on the join control 242 and re-enter the aforementioned walkie-talkie interface 230.
[0114] It is understandable that after initiating a walkie-talkie, mobile phone 10 can directly enter the group walkie-talkie interface, and mobile phone 20 can also enter the group walkie-talkie interface after receiving a walkie-talkie invitation. The group walkie-talkie interface can be referenced from the above. Figure 2c Or the following Figure 2d The intercom interface 230 shown is shown.
[0115] As an example, Figure 2d An embodiment of this application illustrates a group intercom interface and a schematic diagram of the interface when a user presses and holds the intercom button to speak.
[0116] Continuing with mobile phone 10 as an example, in addition to displaying the aforementioned return control 231, exit control 232, and intercom member display area 233, the intercom interface 230 displayed on mobile phone 10 can also display the intercom button 235 and the positions of each member in the first intercom group, etc. For example... Figure 2d As shown, in response to user A's long press operation on the intercom key 235, the mobile phone 10 can display the intercom interface 250. In the intercom interface 250, the intercom key 251 can be displayed in the radio reception state, indicating that the mobile phone 10 is currently collecting voice data input by user A.
[0117] It is understandable that, in response to user A pressing the intercom key 235, mobile phone 10 can first broadcast a preemptive message (called a preemptive message) through each available broadcast channel to seize communication resources. Then, after collecting voice data input by user A for a period of time (e.g., the first time period mentioned above), mobile phone 10 can broadcast voice messages generated based on the collected voice data in subsequent time periods according to the broadcast cycle. Within each broadcast cycle of the current time period, mobile phone 10 can repeatedly broadcast voice messages generated corresponding to the voice data collected in the previous time period. For example, in the second time period after the first time period, the first voice message, which is a broadcast message generated based on the voice data collected in the first time period, can be repeatedly broadcast according to the broadcast cycle. Similarly, in the third time period after the second time period, the second voice message, which is a broadcast message generated based on the voice data collected in the second time period, can be repeatedly broadcast according to the broadcast cycle. This improves the reliability of message transmission. The specific voice message transmission process will be described in detail below in conjunction with related services, and will not be repeated here.
[0118] It is understandable that if other members of the first intercom group also press their intercom keys to prepare to speak at the same time as or shortly thereafter when user A presses the intercom key 235, their devices may output a preemption failure message because mobile phone 10 has already preempted the communication resources of each broadcast channel. This message may include one or more of the following: sound information, vibration information, text, images, or animations displayed on the relevant intercom interface. Animations include images with dynamic effects (such as graphics interchange format (GIF) images) or animations, etc., and are not limited here. The specific process of each member device preempting the message channel when pressing the intercom key on the intercom interface will be described in detail below with reference to the relevant accompanying drawings, and will not be repeated here.
[0119] Continue to refer to Figure 2d The intercom interface 230 shown displays the locations of each member in the first intercom group using location icons on a map, such as user A's location icon 236. Mobile phone 10 and other member devices (including mobile phone 20, etc.) can periodically broadcast heartbeat messages (referred to as the third heartbeat message) carrying their own location information to share their location with other members in the first intercom group. In this way, the intercom interface displayed on the devices used by each member in the first intercom group can show their own location and the locations of other members, making it easier for each member to determine their distance from other members and improving the user experience.
[0120] In some embodiments, in the aforementioned intercom interfaces, the avatars of other members within the user's offline signal coverage area can be displayed as color avatars to indicate their online status. Conversely, the avatars of other members outside the user's offline signal coverage area can be displayed as gray avatars to indicate their offline status. This allows members in the first intercom group to more intuitively see whether other members are within their signal coverage area and whether they can receive relevant messages normally, thus improving the user experience.
[0121] Continue to refer to Figure 2d As shown in the intercom interface 230, mobile phone 10 can respond to user A's click on the exit control 232 to exit the current intercom group. At this time, mobile phone 10 can return to the above-mentioned display. Figure 2a The group chat interface shown is 220, or the above is displayed. Figure 2a or Figure 2b The chat interface shown in 210, or returning to the desktop, are not limited here.
[0122] In some embodiments, after user A of mobile phone 10 who initiated the intercom leaves the first intercom group, the group owner of the first intercom group can be transferred to another member in the current member list. In other embodiments, after user A of mobile phone 10 who initiated the intercom leaves the first intercom group, the first intercom group can also be disbanded, and each member can automatically leave the first intercom group.
[0123] It is understandable that other members can also click the exit control on their device (e.g., mobile phone 20) to leave the first intercom group. Correspondingly, mobile phone 20 can broadcast an exit message. This exit message can be scanned and received by the group leader device of the first intercom group, such as mobile phone 10 used by user A. Furthermore, this exit message can carry the device ID of mobile phone 20. Thus, after receiving the exit message, mobile phone 10 can update the member list information of the first intercom group, generate a new heartbeat message, and broadcast it.
[0124] It is understood that the chat interface, group chat interface, or intercom interface mentioned above can all be the interface of the primary application. This primary application can be an instant messaging application, such as Changlian. TMetc. Mobile phone 10 or 20 can also support push-to-talk (PTT) functionality via certain buttons. Continuing with mobile phone 10 as an example, when mobile phone 10 responds to user A's operation and exits the aforementioned intercom interface, group chat interface, or chat interface but does not exit the intercom group, or when mobile phone 10 responds to user's screen lock operation and enters the lock screen desktop but does not exit the intercom group, the first application can continue to run in the background, and user A can conduct PTT intercom by long-pressing the "volume +" button or other function buttons. The following will exemplarily describe the process by which mobile phone 10 and other electronic devices provide PTT intercom functionality based on the communication method provided in this application, using relevant interfaces.
[0125] As an example, Figure 3a According to an embodiment of this application, a schematic diagram of the interface changes when a mobile phone exits the intercom interface or exits the group chat interface and displays the intercom live window is shown.
[0126] Continuing with the example of the iPhone 10, such as Figure 3a As shown, when the mobile phone 10 is displaying the intercom interface 230, it can respond to a user's swipe-up operation from the bottom of the intercom interface 230 to exit the intercom interface 230 and enter the desktop 310. At this time, the desktop 310 of the mobile phone 10 can display a capsule-shaped intercom live view window 311, indicating that the mobile phone 10 is currently running the aforementioned first application in the background and continuing to provide intercom functionality. (Continue to refer to...) Figure 3a The intercom live view window 311 mentioned above can display descriptive text such as "intercom in progress" or the icon of the first application, etc., without any restrictions.
[0127] Continue to refer to Figure 3a When the mobile phone 10 is displaying the intercom interface 230, it can also respond to the user's click on the return control 231 on the intercom interface 230 to return to the previous screen of the first application, for example... Figure 3a The chat interface 320 is shown. At this time, the mobile phone 10 can also respond to the user's swipe-up operation from the bottom on the chat interface 320 to enter the desktop 310 that displays the intercom live window 311.
[0128] In other embodiments, the mobile phone 10 from Figure 3a During the process of returning from the intercom interface 230 to the chat interface 320, the user can also pass through the group chat interface, which serves as an intermediary interface. This group chat interface can be connected to the aforementioned... Figure 2c The group chat interface 240 shown is the same as that of the "hiking group". Correspondingly, when the mobile phone 10 is displaying this intermediate interface, it can also respond to the user's swipe-up operation from the bottom to enter the desktop 310 that displays the intercom live window 311.
[0129] Continue to refer to Figure 3a If, when the mobile phone 10 is displaying the desktop 310, it detects user A's click on the intercom live window 311, it can enter... Figure 3b The desktop 330 shown here can change its display state from the capsule state to the card state. In some other embodiments, the mobile phone 10 can also respond to the user's pull-down status bar operation on the desktop 310 to display... Figure 3b Desktop 330 shown is not restricted here.
[0130] As an example, Figure 3b According to an embodiment of this application, another desktop schematic diagram showing a live intercom window is illustrated.
[0131] like Figure 3b As shown, the intercom live window 331 displayed on the desktop 330 of the mobile phone 10 at this time can be a card-mode live window. Figure 3b The card shown is also called a floating card. In some other embodiments, the above-mentioned intercom live window 331 can also be other forms of live window cards, such as notification center cards, etc., which are not limited here.
[0132] As an example, the intercom live view window 331 can display the chat group name, such as "Hiking Group," intercom status descriptions, such as "You are participating in an intercom initiated by 'Amy,'" "3-person intercom in progress," and "Amy is speaking," etc. In some embodiments, the intercom live view window 331 can also display a location diagram 332 of each member in the intercom group. In this case, the location diagram 332 can be presented with some special effects, such as 3D rotation, shadows, etc., which will not be elaborated here.
[0133] Continue to refer to the above. Figure 3b The buttons on mobile phone 10, such as the "Volume +" button, can be preset with corresponding PTT (Public Toll-Free) functions. When mobile phone 10 displays desktop 330, if it detects user A's long press of the "Volume +" button, it can collect the user's voice data based on the communication method provided in this application and broadcast the voice message. It can be understood that when mobile phone 10 displays the above... Figure 3a In the state of desktop 310 shown, mobile phone 10 can also collect user voice data based on the communication method provided in this application and broadcast voice messages when it detects that the user has pressed and held the "volume +" button. No restrictions are imposed here.
[0134] In other embodiments, the mobile phone 10 may also indicate and set other function keys (such as the "volume-" key, etc.) as keys to trigger the above-mentioned PTT intercom function, which is not limited here.
[0135] As mentioned earlier, when the phone 10 responds to the user's lock screen operation and enters the lock screen desktop but does not exit the walkie-talkie group, the first application can continue to run in the background. At this time, the phone 10 can display a lock screen interface including the walkie-talkie live feed window.
[0136] As an example, Figure 3c An embodiment of this application illustrates a lock screen interface displaying a live view card.
[0137] like Figure 3c As shown, when the mobile phone 10 enters the lock screen desktop in response to the user's lock screen operation but does not exit the intercom group, the lock screen interface 340 can be displayed. At this time, the mobile phone 10 is still in intercom mode. The lock screen interface 340 can display an intercom live window 341 presented in the form of a lock screen notification card. As an example, the intercom live window 341 can display the name of the chat group, such as "Hiking Group", the intercom status description, such as "You are participating in an intercom initiated by 'Amy'", and content such as "3-person intercom in progress" and "Amy is speaking". In some embodiments, the intercom live window 341 can also display a location diagram 342 of each member in the intercom group. In other embodiments, the lock screen interface 340 can also display more than Figure 3c The amount of content shown may be more or less, without limitation.
[0138] Continue to refer to Figure 3c When the mobile phone 10 is displaying the lock screen interface 340, it can also respond to the user A's operation of pressing and holding the "volume +" button, collect the user's voice data based on the communication method provided in this application, and broadcast and send voice messages.
[0139] In other embodiments, if mobile phone 10 establishes a collaborative connection with some wearable devices of user A, the communication method provided in this application can also support user A to perform intercom operations through controls or a touchscreen interface on the wearable device. The intercom command triggered by this operation can be sent to mobile phone 10 through the collaborative connection, and the transmission of collected voice data and the broadcasting of voice messages can be realized through the collaborative connection between mobile phone 10 and related wearable devices. The aforementioned wearable devices may include, but are not limited to, watches, bracelets, smart glasses, etc., and are not limited here. Taking a watch as an example, user A can perform intercom operations by raising their wrist or other preset actions, or by pressing the down button or other function buttons on the watch. This makes it more convenient for users to perform intercom operations and improves the user experience.
[0140] It is understandable that after user A of mobile phone 10 initiates a walkie-talkie, the electronic devices (such as mobile phone 20) used by other members of the chat group to which user A belongs (such as user B) can receive heartbeat messages (such as the first heartbeat message mentioned above) from mobile phone 10 by scanning the broadcast channel. Based on these heartbeat messages, they can display walkie-talkie invitations on relevant interfaces, and respond to user acceptance of walkie-talkie invitations to join walkie-talkie groups (such as the first walkie-talkie group mentioned above) by displaying the walkie-talkie interface. After joining the walkie-talkie group, mobile phone 20 can also respond to user B's actions such as instructing to leave the walkie-talkie group or viewing the walkie-talkie member list on the walkie-talkie interface of mobile phone 20, displaying relevant interfaces, without limitation. The following is an illustrative description of the relevant interfaces displayed by mobile phone 20 and the process of interface changes, with reference to the accompanying drawings.
[0141] As an example, Figure 4a An embodiment of this application illustrates an interface diagram showing an intercom invitation and support for joining an intercom group.
[0142] like Figure 4a As shown, user B of mobile phone 20 is one of the other members in the "hiking group" where user A is located. After user A initiates a walkie-talkie, mobile phone 20 can receive a walkie-talkie invitation from mobile phone 10 and display an invitation notification 411 on the currently displayed desktop 410. It can be understood that the invitation notification 411 can be a form of presentation of the walkie-talkie invitation. In some embodiments of this application, the invitation notification 411 can be a banner notification or a notification displayed in the notification center, etc., and there is no limitation here.
[0143] Continue to refer to Figure 4a Mobile phone 20 can respond to user B's click (view) operation on invitation notification 411 and enter the group chat interface 420.
[0144] Continue to refer to Figure 4a The group chat interface 420 can display a walkie-talkie invitation 421. This invitation 421 can display the join control 411, as well as the avatars and text descriptions of some members currently in the conversation (e.g., "Amy and others are in a conversation"), or other content; there are no restrictions on this. In response to user B's click on the join control 411, mobile phone 20 receives the walkie-talkie invitation and joins the corresponding walkie-talkie group (such as the first walkie-talkie group mentioned above). At this time, mobile phone 20 can further display the walkie-talkie interface, which can be referred to below. Figure 4b The intercom interface shown is 430.
[0145] It is understandable that when mobile phone 20 responds to user B's confirmation of joining the first intercom group, it can broadcast a join message. This join message can carry user B's account ID logged in on mobile phone 20 and mobile phone 20's device ID. In this way, mobile phone 10 can receive this join message when scanning on various broadcast channels, thereby updating the member list of the first intercom group carried in the first heartbeat message, generating a new heartbeat message (denoted as the second heartbeat message), and then broadcasting it to other members in the first group chat (such as the "hiking group").
[0146] As an example, Figure 4b An embodiment of this application illustrates a walkie-talkie interface and a schematic diagram of an interface for leaving a walkie-talkie group.
[0147] like Figure 4b As shown, the intercom interface 430 displayed on the mobile phone 20 may include an exit control 431, which can be used to exit the current intercom group. In response to user B's click on the exit control 431, the mobile phone 20 may display an exit notification, such as the exit notification 450 in the intercom interface 440. The exit notification 450 may be presented as a pop-up window, or a window or interface that occupies a larger screen display area, etc., and there are no restrictions on its presentation.
[0148] Continue to refer to Figure 4b As an example, the exit notification 450 may display notification content, a confirmation control 451, and a cancellation control 452. The notification content may include "Exit the intercom?" or other prompts indicating the user is about to leave the intercom group; no restrictions are placed here. If mobile phone 20 detects user B's click on the confirmation control 451, it can exit the current intercom group. At this point, mobile phone 20 can return to the relevant interface before the intercom interface was displayed, such as the group chat interface 420 mentioned above, or the desktop 410 mentioned above; no restrictions are placed here either.
[0149] It is understandable that when the mobile phone 20 displays the aforementioned intercom interface 430, it can also respond to the user's instruction to view the intercom member list of the current intercom group and display the intercom member list.
[0150] As an example, Figure 4c An embodiment of this application illustrates an intercom interface and a schematic diagram of the interface displaying a list of intercom members.
[0151] like Figure 4c As shown, the intercom interface 430 displayed on mobile phone 20 can also display an intercom member display area 432. The intercom member display area 432 can display the avatars and network status of some members currently in the intercom group, as well as the number of members currently in the intercom group, such as "3" or other numbers. The icon 433 displaying the number "3" allows user B to view the current intercom group's member list.
[0152] Continue to refer to Figure 4c In response to user B's click on icon 433, mobile phone 20 can display member list interface 460. This member list interface 460 can display relevant information of all walkie-talkie members who have joined the walkie-talkie group, such as one or more of the walkie-talkie members' avatars, network status, nicknames, and personal information introductions, etc., without any restrictions.
[0153] Understandable, referring to the above. Figure 3a As shown in the interface change process, mobile phone 20 can also respond to user B's swipe-up operation from the bottom in the intercom interface or member list interface, exit the relevant interface and display a desktop containing the intercom live window, which can be referred to as described above. Figure 3b Desktop 330 is shown. Alternatively, mobile phone 20 can also respond to user B's lock screen operation by displaying a lock screen interface containing a live intercom window, which can be referenced above. Figure 3c The lock screen interface 340 shown. The form in which the intercom live window is displayed on the mobile phone 20 can also include various forms such as capsule mode or card mode, and there is no limitation here.
[0154] At this time, the buttons on the phone 20, such as the "volume +" button, can also support the preset PTT (Personal Telephone to Talk to Someone) function and can respond to the user's intercom operations via relevant button instructions, as described above. Figure 3b or Figure 3c The user's voice data is collected based on the communication method provided in this application, and voice messages are broadcast. For details, please refer to the above. Figure 3a The descriptions and related information shown will not be repeated here.
[0155] It is understandable that if user B presses the talk button on the talk interface displayed on mobile phone 20, or user B presses the "volume +" button on mobile phone 20, and this occurs later than the time user A presses the talk button on the talk interface displayed on mobile phone 10, or user A presses the "volume +" button on mobile phone 10, then mobile phone 10 will first send a preemption message via broadcast, and can successfully preempt each broadcast channel. At this time, if mobile phone 20 has received the preemption message before detecting user B's talk, then mobile phone 20 determines that each broadcast channel has been preempted and can output a preemption failure message to the user. If mobile phone 20 has not received a preemption message or voice message at or after detecting user B's talk, then mobile phone 20 can also broadcast a preemption message, but this preemption message may fail to successfully preempt each broadcast channel because it has already been preempted. If mobile phone 10, which sent the preemption message first, receives a preemption message from mobile phone 20, it can send a rejection message (referred to as a rejection message) to mobile phone 20. When mobile phone 20 receives the rejection message, it can also output a message indicating that the preemption failed to the user.
[0156] It is understood that the above-mentioned methods of outputting the prompt message of failed preemption may include, but are not limited to, one or more of the following: sound information, vibration information, text, images or animation information displayed in the first intercom interface, which will not be elaborated here.
[0157] It is understood that after mobile phone 10 enters the intercom interface in response to user A's initiation of an intercom, or mobile phone 20 enters the intercom interface in response to user B receiving an intercom invitation, mobile phone 10 or mobile phone 20 enters the intercom state. Correspondingly, when mobile phone 10 or mobile phone 20 detects a user's operation indicating that they want to leave the intercom group, mobile phone 10 or mobile phone 20 can exit the intercom state.
[0158] The specific implementation process of the communication method provided in this application will be described in detail below with reference to the relevant accompanying drawings.
[0159] It should also be stated that the steps in the methods and processes in this application are numbered for ease of reference, not to limit the order of steps. If there is an order between the steps, the textual description shall prevail.
[0160] The following section, using a flowchart, describes the specific implementation process of the communication method with the voice data sending device as the execution entity. In this embodiment, the sending device can be, for example, a device that initiates a conversation, such as the aforementioned mobile phone 10, or a device that joins a conversation, such as the aforementioned mobile phone 20, etc. Hereinafter referred to as the first device, this sending device is an electronic device that collects user-inputted voice data and broadcasts voice messages in a network-free state. No limitations are imposed here.
[0161] Figure 5 This application provides an embodiment of a communication method executed by a transmitting device, illustrated in the following schematic diagram. The executing entity for each step of this process can be a first device, i.e., the transmitting device, which can be in a network-free state. The executing entity for each step will not be repeated in the subsequent description of the specific implementation process.
[0162] like Figure 5 As shown, the implementation process may specifically include:
[0163] S501: First intercom command received.
[0164] For example, the aforementioned first intercom command can be an intercom command generated by a user operation instructing the user of the first device to conduct an intercom, such as an intercom command generated by a long press operation on the first intercom button in the first intercom interface displayed on the first device; or, for example, an intercom command generated by a long press operation on the first button of the first device. The aforementioned first intercom command can also be an intercom command from a collaborative device that has established a collaborative connection with the first device. Intercom commands from collaborative devices can include intercom commands generated based on a long press operation on a button of the collaborative device (such as a wearable device, remote control, stylus, etc.), or intercom commands generated by the collaborative device (such as a wearable device) based on detected preset body movements.
[0165] In other embodiments, the electronic device that establishes a cooperative connection with the first device may also include a remote control, a stylus, etc., without limitation.
[0166] As an example, the first intercom interface described above can be referenced from the above. Figure 2c , Figure 2d , Figure 4b or Figure 4c The intercom interface shown above, the first intercom button can be referenced from intercom button 235. The first button can be referenced from the "volume +" button of mobile phone 10 or mobile phone 20, or other buttons that support preset PTT intercom functions. The aforementioned collaborative devices may include, but are not limited to, wearable devices such as headsets, watches, wristbands, and smart glasses, as well as electronic devices such as remote controls and styluses. The aforementioned preset body movements, such as the wrist-raising motion when wearing a watch, are not limited here.
[0167] S502: In response to an intercom command, a voice message is broadcast through at least two broadcast channels. The voice message is a broadcast message generated based on voice data input by the user of the first device using the intercom function.
[0168] For example, the above-mentioned broadcasting of voice messages through at least two broadcast channels may include, after receiving the above-mentioned intercom instruction for a first time period, broadcasting N first voice messages through the at least two broadcast channels, where N is a positive integer, and the first voice messages are broadcast messages generated based on first voice data collected by the first device during the first time period. In some embodiments, the above-mentioned broadcasting of voice messages through at least two broadcast channels may further include broadcasting N second voice messages through the at least two broadcast channels, where the second voice messages are broadcast messages generated based on second voice data collected by the first device during a second time period, and the start time of the second time period is the end time of the first time period.
[0169] As mentioned earlier, the first time period can be a time delay controlled when the user presses the intercom button. This time period can be a preset duration, such as N times the broadcast cycle. It is advantageous that, after the first time period, based on the duration of the user's input voice, a second time period of the same duration, and a third time period, etc., can also be included, without limitation. During the second time period, the first device can continuously collect the user's input voice data while broadcasting N second voice messages. Specifically, the implementation principle of the first device broadcasting voice messages through at least two broadcast channels will be discussed below. Figure 6 An example is provided.
[0170] It is understandable that in a group intercom scenario, the voice messages broadcast through at least two broadcast channels can be scanned and received by at least two second devices. For example, during the broadcast of voice messages by mobile phone 10, mobile phone 10 is the transmitting device, and mobile phones 20 and 30 can both act as receiving devices, scanning the broadcast channels to receive the voice messages broadcast by mobile phone 10, including the first and second voice messages. Thus, in the aforementioned first intercom group, the electronic devices participating in the group intercom can include at least one transmitting device and at least two receiving devices.
[0171] It is understandable that, based on the implementation process of S501 to S502 described above, the transmitting device (i.e., the first device) can broadcast user-input voice data through at least two broadcast channels in a network-free state, thereby realizing group intercom functionality in a network-free state. This can meet the group intercom needs in some network-free communication scenarios and improve the user experience.
[0172] Furthermore, the transmitting device (i.e., the first device) can broadcast the voice data collected within the first time period (controlling the delay) separately over N broadcast cycles in the second time period. Similarly, the voice data collected within the second time period can be broadcast separately over N broadcast cycles in the third time period. The receiving device (i.e., the second device) only needs to scan for a voice message in any broadcast channel within any broadcast cycle of the second time period to play the corresponding voice. Based on voice messages scanned within consecutive time periods, it can play voice messages with high completeness. This improves the transmission reliability of broadcast voice messages during group intercom, thereby enhancing the robustness of related electronic devices providing group intercom functionality and improving the user experience.
[0173] As mentioned above, the first time period of the preset control delay, as well as the second and third time periods following the first time period, can all be N times the broadcast period, i.e., broadcast period * N, where N can be an integer and is not limited here. As an example, if the broadcast period is 60ms, then the duration of the first and second time periods can be 60ms * N. As another example, if the broadcast period is 20ms, then the duration of the first and second time periods can be 20ms * N. In other embodiments, the first, second, and third time periods may not be integer multiples of the broadcast period, and this is not limited here.
[0174] In other embodiments, the broadcast period can also be other values, such as any value in the range of 20ms to 10.28s. In some embodiments, in order to eliminate interference caused by clock drift between devices on the broadcast transmission time, the broadcast period can be set to an integer multiple of 0.625ms, such as the aforementioned 60ms or 20ms, etc., which will not be elaborated here.
[0175] Figure 6 According to an embodiment of this application, a schematic diagram of a communication principle for controlling the broadcast transmission of voice data after a first time delay is shown.
[0176] like Figure 6 As shown, taking N=8 as an example, the preset delay duration can be 480ms. When the transmitting device (such as mobile phone 10) detects that the user has pressed the intercom button to start speaking, it can first collect the user's voice input data within the first time period, i.e., 480ms. Based on the voice data collected within the first time period, the transmitting device can encode and generate 8 first voice messages, for example... Figure 6 The voice message marked "1" is shown.
[0177] After the first time period ends, the second time period begins (e.g., ...). Figure 6During the time period from 480ms to 960ms, the transmitting device can broadcast the eight first voice messages generated above through at least two broadcast channels during the second time period. For example, the transmitting device can broadcast the first voice message marked "1" through each broadcast channel during the broadcast period from 480ms to 540ms. Then, the transmitting device can broadcast the second voice message marked "1" through each broadcast channel during the broadcast period from 540ms to 600ms. And so on, the transmitting device can broadcast the eighth voice message marked "1" through three broadcast channels during the broadcast period from 900ms to 960ms.
[0178] Continue to refer to Figure 6 Meanwhile, the sending device can continuously collect the voice data input by the user during the aforementioned second time period, and generate eight second voice messages based on the collected voice data, for example... Figure 6 The voice message marked "2" is shown. The third time period begins after the second time period ends (e.g., ...). Figure 6 During the time period from 960ms to 1440ms (as shown), the transmitting device can send the eight second voice messages generated above through at least two broadcast channels. That is, during... Figure 6 As shown at time 960, the first voice message broadcast by each broadcast channel can be updated to the second voice message. During the broadcast period from 960ms to 1020ms, the first voice message marked "2" is broadcast, and during the broadcast period from 1020ms to 1080ms, the second voice message marked "2" is broadcast. And so on, the transmitting device can broadcast the eighth voice message marked "2" during the broadcast period from 1380ms to 1440ms.
[0179] Correspondingly, other member devices (i.e., receiving devices), such as mobile phones 20 and 30, scan the broadcast channels after entering intercom mode, and can keep the scanning switch on. At this time, other member devices can receive the aforementioned voice messages marked "1" or "2" on one of the broadcast channels by scanning each broadcast channel. (Continue to refer to...) Figure 6 In this embodiment of the application, the aforementioned at least two broadcast channels may include, for example, broadcast channel A, broadcast channel B, and broadcast channel C. The receiving device can play the corresponding voice message if it scans a voice message on any of the broadcast channels.
[0180] Taking three broadcast channels as an example, the aforementioned first or second voice message can be repeatedly transmitted on all three channels within the same broadcast cycle, and can be repeatedly transmitted eight times in eight broadcast cycles on the same channel. Thus, the probability of the first voice message being scanned and received by the receiving device is higher, and the reliability of voice transmission is also higher.
[0181] In other embodiments, the aforementioned at least two broadcast channels may also include a basic broadcast channel and an extended broadcast channel. The basic broadcast channel may include a broadcast channel with three broadcast frequencies, supporting the broadcast transmission of the aforementioned first voice message or second voice message, etc., on the three frequencies. The extended broadcast channel may support the transmission of the aforementioned first voice message or second voice message, etc., on broadcast channels at different frequencies using a frequency-hopping method, and is not limited thereto.
[0182] It is understandable that the start time of the second time period can be the end time of the first time period, and the start time of the third time period can be the end time of the second time period. The duration of the first, second, or third time periods can also be set to other values, such as 360ms (60ms*6) or 420ms (60ms*7). The longer the duration, the more frequently voice messages will be sent according to the broadcast cycle in the subsequent second or third time periods, resulting in higher message transmission reliability. However, to avoid excessive latency leading to a degraded user experience, the duration of the first time period, etc., should be set to a reasonable value that does not affect the user experience. This reasonable value can be determined based on experience or user feedback.
[0183] In some embodiments, the electronic device may broadcast the aforementioned voice messages based on BLE or Spark Link Low Energy (SLE) technology. As an example, the at least two broadcast channels used to broadcast the voice messages during each broadcast cycle may include, for example, three broadcast channels, denoted as broadcast channel A, broadcast channel B, and broadcast channel C, respectively; this is not a limitation.
[0184] Figure 7 An embodiment of this application illustrates an interactive implementation flowchart of a communication method supporting group intercom and location sharing. This flowchart involves information processing during communication processes such as initiating an intercom, joining an intercom, and synchronizing the locations of each device entering the intercom state.
[0185] It is understood that in a group intercom scenario, the above-mentioned interaction implementation process involves the interaction between multiple devices. This application embodiment uses the interaction between mobile phone 10, mobile phone 20, and mobile phone 30 as an example for description. In this application embodiment, the first device can be mobile phone 10, i.e., the sending device. The at least two second devices can include mobile phone 20 and mobile phone 30, etc. In other embodiments, the first device and the at least two second devices can also be other types of electronic devices, and the types of the first device and the second device can be the same or different. For example, the first device and the second device can both be tablet computers, or the first device and the second device can be a combination of a mobile phone and a tablet computer, etc., without limitation.
[0186] Specifically, such as Figure 7 As shown, the interactive implementation process may include:
[0187] S701: Phone 10 detected that the first user initiated a walkie-talkie operation in the chat group.
[0188] For example, a user of mobile phone 10 can be referred to as the first user or user A, as described above. Figures 2a to 2d The example user is Amy. The user on phone 20 can be referred to as the second user or user B (e.g., user Alex mentioned above), and the user on phone 30 can be referred to as the third user or user C (e.g., user Andy or user Tony mentioned above). There are no restrictions here.
[0189] S702: Mobile phone 10 obtains the chat group ID, and obtains the ID of the newly created first intercom group, the list of intercom members, the device ID, and the location information.
[0190] For example, the chat group mentioned above can be a chat group that the user of mobile phone 10 has joined, such as the one mentioned above. Figure 2a The chat group is shown as a "hiking group". In other embodiments, the chat group may also be named other groups, such as "Modern Family" or "Loving Family". In some embodiments, the chat group ID may be the account ID of the user who created the chat group, or it may be the group identification information (GID) assigned by the system when the chat group is created, etc., without limitation.
[0191] The aforementioned first intercom group ID can be the account ID logged in on the electronic device that initiated the intercom. In this embodiment, the first intercom group ID is, for example, the account ID of user A logged in on mobile phone 10, used to identify the intercom group created by user A. In other embodiments, the aforementioned first intercom group ID can also be the ID assigned to the first intercom group by the system of the electronic device that initiated the intercom when creating the first intercom group, and this is not limited here.
[0192] The above list of intercom members refers to the member list of the first intercom group. It is understood that the number of intercom members in the first intercom group can increase or decrease at different times after an intercom session is initiated, and the corresponding member list information can be the same or different.
[0193] The location information mentioned above refers to the current location of the electronic device initiating the intercom, including but not limited to latitude, longitude, and floor information. Taking mobile phone 10 as an example, the location information mentioned above is the current location of mobile phone 10. This location information can be obtained based on the satellite positioning system of mobile phone 10, which will not be limited or elaborated here.
[0194] S703: Mobile phone 10 broadcasts the first heartbeat message as the group owner of the first walkie-talkie group.
[0195] For example, mobile phone 10 can broadcast the aforementioned first heartbeat message as the group owner of the first intercom group. Correspondingly, multiple electronic devices (including mobile phone 20 and mobile phone 30) within the signal coverage area of the offline communication can scan the broadcast channel to receive the aforementioned first heartbeat message. The aforementioned first heartbeat message can carry the aforementioned chat group ID, first intercom group ID, intercom member list, device ID, and location information. In this embodiment, the device ID can be the device ID of mobile phone 10, and the location information can be the location information of mobile phone 10. Mobile phone 10 can generate the aforementioned first heartbeat message based on the chat group ID, first intercom group ID, intercom member list, device ID of mobile phone 10, and location information of mobile phone 10 obtained in S702, and broadcast it.
[0196] It is understood that the list of intercom members carried in the first heartbeat message may include information such as the IDs of intercom members who have joined the first intercom group at the current time. If a new member joins the first intercom group, the mobile phone 10 can broadcast and send a corresponding updated heartbeat message (such as the second heartbeat message described below) in the next broadcast cycle. The member list information carried in the updated heartbeat message may include information such as the ID of the new member.
[0197] S704: Mobile phones 20 and 30 display intercom invitations based on the first heartbeat message.
[0198] For example, mobile phones 20 and 30 can scan on various broadcast channels. If mobile phones 20 and 30 are within the coverage area of the offline communication signal of mobile phone 10, they can scan and receive the aforementioned first heartbeat message.
[0199] As mentioned earlier, the first heartbeat message can carry a walkie-talkie invitation to invite other members of the chat group to join the first walkie-talkie group chat. Therefore, when mobile phones 20 and 30 receive the first heartbeat message, they can respond to the walkie-talkie invitation and display the relevant interface. As an example, the interface with the walkie-talkie invitation displayed on mobile phone 20 can be referred to the above. Figure 4a The desktop 410 and group chat interface 420 shown above can be referenced for details. Figure 4a Related descriptions.
[0200] S705: Mobile phone 20 detected that a second user received a walkie-talkie invitation to join the walkie-talkie group.
[0201] For example, the second user mentioned above could be user B of mobile phone 20. Referring, as an example, refer to the above... Figure 4a The aforementioned operation of receiving a walkie-talkie invitation to join a walkie-talkie group can be, for example, a user clicking on the join control 422 in the group chat interface 420.
[0202] S706: Mobile phone 20 broadcasts a join message.
[0203] For example, in response to the aforementioned operation of receiving an invitation to join a walkie-talkie group, mobile phone 20 can generate a join message carrying the device ID of mobile phone 20 and broadcast it through various broadcast channels. The join message may carry the device ID used by the new member joining the first walkie-talkie group, such as the device ID of mobile phone 20. In some embodiments, the join message may also carry the user ID logged in on mobile phone 20, so that mobile phone 10 can verify the identity of the user logged in on mobile phone 20 during subsequent verification. This improves the security of the relevant walkie-talkie group.
[0204] In other embodiments, the above-mentioned join message may also carry the group join request of mobile phone 20, which may carry relevant information such as device ID and user ID of mobile phone 20, and there is no limitation here.
[0205] S707: Mobile phone 30 detected that a third user received a walkie-talkie invitation to join the walkie-talkie group.
[0206] For example, the aforementioned third user can be a user of mobile phone 30. Referring to the relevant description in S704 above, mobile phone 30, as an invited receiving device, can display the same interface as mobile phone 20, such as the one described above. Figure 4a The relevant interface is shown below. Therefore, as an example, the operation of receiving a walkie-talkie invitation to join a walkie-talkie group described above can also be referred to the above. Figure 4a The user's click operation on the join control 422 in the group chat interface 420 is shown.
[0207] S708: Mobile phone 30 broadcasts a join message.
[0208] For example, in response to the above-mentioned operation of receiving an intercom invitation to join the intercom group, mobile phone 30 can generate a join message carrying the device ID of mobile phone 30 and broadcast it through various broadcast channels. In some embodiments, the join message may also carry the user ID logged in on mobile phone 30, so that when mobile phone 10 verifies mobile phone 30 later, it can also verify the identity of the user logged in on mobile phone 30, thereby improving the security of the relevant intercom group.
[0209] It is understandable that when mobile phone 30 performs the above-mentioned S707 operation of detecting joining a walkie-talkie group, if it detects that it is already a member of the relevant walkie-talkie group, it does not need to perform the above-mentioned S708 communication process of broadcasting and sending a join message, and there is no restriction here.
[0210] S709: Mobile phone 10 verifies the device and user requesting to join the group based on the join message.
[0211] For example, mobile phone 10 can scan various broadcast channels to receive join messages. Based on the join message, mobile phone 10 can obtain the device ID that sent the join message and the account ID logged in on that device. In this embodiment, the device ID mentioned above may include, but is not limited to, the account ID logged in on mobile phone 20 and mobile phone 30. Furthermore, mobile phone 10 can perform security verification on the device ID of mobile phone 20 and the account ID logged in on mobile phone 20, such as verifying whether the account ID corresponds to a member account in a chat group, and verifying whether mobile phone 20 is the device bound to the account ID, etc., without limitation.
[0212] S710: Mobile phone 10 adds the user of the verified device to the intercom member list of the first intercom group.
[0213] For example, mobile phone 10 can add the verified device ID and the account ID logged in on that device to the intercom member list information of the first intercom group. In this way, the user of the verified device can be updated as a new member in the intercom member list of the first intercom group.
[0214] S711: Mobile phone 10 broadcasts a second heartbeat message carrying an updated list of walkie-talkie members.
[0215] For example, after mobile phone 10 scans and receives the join message broadcast by mobile phones 20 and 30 on the broadcast channel, it can add the user of the relevant device to the intercom member list of the first intercom group. Correspondingly, after mobile phones 20 and 30 scan and receive the aforementioned second heartbeat message on the broadcast channel, they can update the intercom member list information of the first intercom group and display the updated intercom member avatars and other content, including the avatars of new members, on the relevant interface.
[0216] As an example, the interface for displaying the intercom member list on mobile phone 20 can be referenced above. Figure 4c The member list interface shown is 460.
[0217] S712: Mobile phone 20 broadcasts a third heartbeat message carrying the device ID and location information.
[0218] For example, after entering intercom mode, mobile phone 20 can periodically or when a location update occurs, broadcast a third heartbeat message carrying the device ID of mobile phone 20 and the current location information of mobile phone 20 to share its location with other members.
[0219] It is understood that after mobile phone 20 broadcasts the aforementioned third heartbeat message, other member devices that receive the heartbeat message can synchronously update the location information of mobile phone 20 and determine the online status of mobile phone 20. For details, please refer to the relevant descriptions in S713 to S714 and S715 to S716 below. Specifically, the execution of S713 to S714 by mobile phone 10 and the execution of S715 to S716 by mobile phone 30 can be performed synchronously. Each device can perform relevant processing procedures based on the moment it receives the aforementioned third heartbeat message; no restrictions are imposed here.
[0220] S713: If mobile phone 10 has not received a third heartbeat message for a preset period of time, it is determined that mobile phone 20 is offline.
[0221] For example, refer to the above Figure 2dOnline users' avatars are displayed in color, while offline users' avatars are displayed in gray. If mobile phone 10 and mobile phone 20 are close together, and mobile phone 10 is within the coverage area of mobile phone 20's offline communication signal, mobile phone 10 can normally receive the third heartbeat message from mobile phone 20, confirming that mobile phone 20 is online, and update mobile phone 20's location information based on the third heartbeat message. At this time, mobile phone 10 can also update the location icon of mobile phone 20's user (second user) on the map on the relevant intercom interface. If mobile phone 10 and mobile phone 20 are far apart, mobile phone 10 may not be able to receive the third heartbeat message from mobile phone 20. In this case, mobile phone 10 can determine that mobile phone 20 has changed from online to offline after not receiving the third heartbeat message for a relatively long time (such as exceeding a preset time). At this time, the icon status related to mobile phone 20 on the relevant intercom interface can be switched from online to offline.
[0222] It is understandable that the signal coverage range of the offline communication capability supported by mobile phone 10 or mobile phone 20 may be relatively large, for example, the coverage radius may be 7km or more. Conversely, the signal coverage range of the offline communication capability supported by mobile phone 10 or mobile phone 20 may also be relatively small, for example, the coverage radius may be any value less than 7km, and no restrictions are imposed here.
[0223] S714: Phone 10 will update the icon status associated with the second user to offline status.
[0224] For example, the icon associated with the second user can be the second user's avatar, and correspondingly, the icon's status can be indicated by a status marker displayed on the second user's avatar. For instance, the online status can be identified using a first status marker, and the offline status can be identified using a second status marker. Based on this, the method of updating to offline status can be to switch the first status marker on the second user's avatar to the second status marker and display it in the relevant intercom interface. As mentioned earlier, the second user can be user B of mobile phone 20, that is, the user to whom the account logged in by mobile phone 20 belongs.
[0225] As an example, refer to the above. Figure 2d The description includes a first status marker corresponding to the online status, which can be color-coded; for example, a user's avatar in an online state can be displayed as a color avatar. A second status marker corresponding to the offline status can be gray-white; for example, a user's avatar in an offline state can be displayed as a gray avatar. Thus, using different status markers to indicate the online or offline status of multiple participating devices in the intercom helps users intuitively understand whether other devices can successfully scan and receive broadcast messages, thereby improving the user's communication experience.
[0226] In other embodiments, the first state marker and the second state marker may also take other forms, such as graphic markers, text markers, etc., which are not limited here.
[0227] S715: Based on the received third heartbeat message, mobile phone 30 updates the location information of mobile phone 20 and determines that mobile phone 20 is online.
[0228] For example, based on the third heartbeat message, mobile phone 30 can determine the current location of mobile phone 20 and move the relevant icon (e.g., location icon) on the map to the determined location, thus updating the location information of mobile phone 20. It can be understood that mobile phone 30's ability to receive the third heartbeat message from mobile phone 20 indicates that mobile phone 30 is within the coverage area of mobile phone 20's offline communication signal. Correspondingly, mobile phone 20 is also within the coverage area of mobile phone 30's offline communication signal, and mobile phone 20 can also receive the heartbeat message from mobile phone 30. Therefore, mobile phone 30 can determine that mobile phone 20 is currently online.
[0229] S716: Phone 30 will keep the icon status associated with the second user online.
[0230] It is understood that while the mobile phone 20 is executing the above-mentioned S712, the mobile phone 30 can also execute the following S717, broadcasting and sending a fourth heartbeat message carrying the device ID and location information of the mobile phone 30.
[0231] S717: Mobile phone 30 broadcasts a fourth heartbeat message carrying the device ID and location information.
[0232] For example, the aforementioned fourth heartbeat message may carry the device ID of mobile phone 30 and the current location information of mobile phone 30.
[0233] It is understood that after mobile phone 30 broadcasts the aforementioned fourth heartbeat message, other member devices that receive the heartbeat message can synchronously update the location information of mobile phone 30 and determine the online status of mobile phone 30. For details, please refer to the relevant descriptions in S718 to S719 and S720 to S721 below. Specifically, the execution of S718 to S719 by mobile phone 10 can be synchronized with the execution of S720 to S721 by mobile phone 30. Each device can perform relevant processing procedures based on the moment it receives the aforementioned fourth heartbeat message; no restrictions are imposed here.
[0234] S718: Based on the received fourth heartbeat message, mobile phone 10 updates the location information of mobile phone 30 and determines that mobile phone 30 is online.
[0235] For example, based on the fourth heartbeat message, mobile phone 10 can determine the current location of mobile phone 30 and then update the location information of mobile phone 30. The specific update process can be found in the relevant description in S715 above, and will not be repeated here. Furthermore, mobile phone 10 can receive the fourth heartbeat message from mobile phone 30, indicating that mobile phone 10 is within the coverage area of mobile phone 30's offline communication signal. Correspondingly, mobile phone 30 is also within the coverage area of mobile phone 10's offline communication signal, and mobile phone 30 can also receive the heartbeat message from mobile phone 10. Therefore, mobile phone 10 can determine that mobile phone 30 is currently online.
[0236] S719: Based on receiving the fourth heartbeat message, the mobile phone 10 keeps the icon status related to the third user online.
[0237] S720: If mobile phone 20 has not received the fourth heartbeat message for a preset period of time, it is determined that mobile phone 30 is offline.
[0238] For example, if mobile phone 20 does not receive a fourth heartbeat message for an extended period (such as exceeding a preset duration), it indicates that mobile phone 20 may have exceeded the coverage range of mobile phone 30's offline communication signal. Correspondingly, mobile phone 30 is also outside the coverage range of mobile phone 20's offline communication signal and may also be unable to receive heartbeat messages from mobile phone 20. In this case, mobile phone 20 can determine that mobile phone 30 is currently offline.
[0239] S721: Phone 20 will update the status of icons associated with third-party users to offline status.
[0240] The specific process for updating the status can be found in the relevant description in S714 above, and will not be repeated here.
[0241] It is understandable that during the interaction implementation process of S701 to S721, the mobile phone 10, as the first device, can achieve network-free communication with at least two second devices (such as mobile phone 20, mobile phone 30, etc.), such as the group intercom function in the network-free state, which can meet the group intercom needs in some network-free communication scenarios and help improve the user experience.
[0242] Furthermore, during the interaction implementation of S701 to S721 described above, mobile phone 10, as the group leader device, can broadcast heartbeat messages, such as the first heartbeat message and the second heartbeat message, to synchronize the member list information after some new members have been added to the intercom group with other member devices. Simultaneously, it can also synchronize its own location information with other member devices via heartbeat broadcast. Other member devices that have entered intercom mode, such as mobile phone 20 and mobile phone 30, can also broadcast heartbeat messages, such as the third heartbeat message and the fourth heartbeat message, to synchronize their own location information with other member devices (including the group leader device). This supports multiple participants sharing real-time location, facilitating mutual location determination between devices and determining whether other member devices are within its offline communication signal coverage area based on whether it has received heartbeat messages from other members, thus improving the user experience.
[0243] It is understandable that after entering the intercom state, each device can also respond to the user operation instructing them to leave the intercom group by broadcasting a leave message carrying its own device ID. In some embodiments, the leave message may also include the account ID of the user account logged in on the device as identification information. After the group owner device of the relevant intercom group (such as the mobile phone 10 mentioned above) receives the leave message on the broadcast channel, it can delete the device information and related user information of the device leaving the intercom group from the maintained intercom member list information, and then broadcast the member list information after deleting some members through a new heartbeat message to synchronize with other member devices. In this way, combined with the relevant processing procedures of mobile phones 20 and 30 joining the intercom group in S704 to S711, it is convenient to maintain the timeliness of updating the intercom group member list.
[0244] It can be understood that the communication processes described above, such as initiating a conversation, joining a conversation, synchronizing the location of each device when entering a conversation state, and exiting a conversation, can also be summarized as follows: Figure 8 The diagram shows the communication processing flow based on broadcast messages.
[0245] Figure 8 A timing flowchart of a communication method is shown according to an embodiment of this application.
[0246] like Figure 8 As shown, when the mobile phone 10 detects the user operation that initiates the intercom, it can broadcast and send the first heartbeat message. For details, please refer to the relevant descriptions in S701 to S703 above, which will not be repeated here.
[0247] Each member device in the relevant chat group, such as mobile phone 20 and mobile phone 30, can display a talk invitation after receiving the first heartbeat message by scanning various broadcast channels. For details, please refer to the relevant description in S704 above, which will not be repeated here.
[0248] In response to a user's instruction to join the intercom group, mobile phones 20 and 30 can broadcast a join message, as detailed in S705 to S708 above, which will not be repeated here. Correspondingly, mobile phone 10 can receive the join message by scanning the broadcast channel.
[0249] Mobile phone 10 performs security verification on the identity of the device and user joining the intercom based on the join message, and broadcasts a second heartbeat message after the verification is successful. For details, please refer to the relevant descriptions in S709 to S710 above, which will not be repeated here.
[0250] Mobile phones 20 and 30 update their member lists after receiving the second heartbeat message by scanning various broadcast channels. For details, please refer to the relevant description in S711 above, which will not be repeated here.
[0251] Once in intercom mode, each member device can periodically broadcast heartbeat messages to share its location information. For example, after entering intercom mode, mobile phone 20 can broadcast a third heartbeat message. For details, please refer to the relevant description in S712 above, which will not be repeated here.
[0252] Mobile phones 10 and 30 scan in various broadcast channels to determine the online or offline status of mobile phone 20 based on whether a third heartbeat message can be received within a preset time period. They can also update the status of icons related to mobile phone 20 in the relevant intercom interface in a timely manner, as well as update the location information of mobile phone 20 when it is online. For details, please refer to the relevant descriptions in S713 to S716 above, which will not be repeated here.
[0253] Similarly, after entering intercom mode, mobile phone 30 can also broadcast the aforementioned fourth heartbeat message; and mobile phones 10 and 20 can scan in various broadcast channels to determine the online or offline status of mobile phone 30 based on whether the fourth heartbeat message can be received within a preset time period, and can update the status of icons related to mobile phone 30 in the relevant intercom interface in a timely manner, and can update the location information of mobile phone 30 in the online state in a timely manner, etc. For details, please refer to the relevant descriptions in S717 to S721 above, which will not be repeated here.
[0254] Continue to refer to Figure 8 In response to a user's instruction to leave the intercom group, mobile phone 20 can broadcast a leave message. Correspondingly, mobile phone 10 can receive the leave message by scanning the broadcast channel, and thus determine the leaving member.
[0255] Mobile phone 10 can include a member list with deleted device and user information in the heartbeat message broadcast in the next frame, such as the fifth heartbeat message. Mobile phones 20 and 30 update their member lists again after receiving the fifth heartbeat message by scanning various broadcast channels.
[0256] After joining a walkie-talkie group (such as the first walkie-talkie group mentioned above), users can view the locations of other members on the relevant walkie-talkie interface and speak to other members by pressing the walkie-talkie button on the interface. When multiple users press the walkie-talkie button, the electronic device that has priority to occupy the message channel can use the aforementioned broadcast channel to broadcast voice messages. This processing mechanism is called the preemption mechanism.
[0257] The specific implementation process of the above-mentioned preemption mechanism will be explained in detail below with reference to the relevant accompanying drawings.
[0258] Figure 9 According to an embodiment of this application, a schematic diagram of the interactive implementation process of another communication method based on a preemption mechanism is shown.
[0259] Continuing with the example of interaction between mobile phones 10, 20, and 30, Figure 9 The execution entity for each step of the interactive implementation process shown can be any of the following devices: mobile phone 10, mobile phone 20, or mobile phone 30. In this embodiment, the first device can be mobile phone 10, i.e., the voice data sending device. The at least two second devices, i.e., the voice data receiving devices, can include mobile phone 20 and mobile phone 30, etc.
[0260] Specifically, such as Figure 9 As shown, the interactive implementation process may include:
[0261] S901: Mobile phone 10 received the first intercom command.
[0262] For example, when mobile phone 10 detects a user operation instructing it to conduct a two-way communication, it generates a two-way communication command, which is the first two-way communication command received by mobile phone 10. The aforementioned user operation instructing to conduct a two-way communication may include a long press operation on the two-way communication button displayed on mobile phone 10, or a long press operation on a button with a preset PTT (Public Toll-Free) function while mobile phone 10 is out of the two-way communication interface but still in two-way communication mode, etc., without limitation. Correspondingly, mobile phone 10 can generate a two-way communication command, execute the command, and then check whether there are voice messages or preemptive message transmissions on each broadcast channel.
[0263] In other embodiments, mobile phone 10 can also receive first intercom commands from other connected electronic devices. Other electronic devices connected to mobile phone 10, such as wearable devices like watches, or electronic devices like remote controls and styluses, can also generate intercom commands when they detect a long press of a button with a preset PTT (Push-to-Talk) function, or when they detect a preset body movement (such as raising a wrist while wearing a watch). In this case, mobile phone 10 can receive intercom commands from wearable devices like watches or other electronic devices, and then execute the intercom commands to check for voice messages on each broadcast channel or preempt message transmission.
[0264] For details on how mobile phone 10 receives the first intercom command, please refer to the relevant description in S501 above; no further restrictions will be made here.
[0265] S902: Based on the scanning results of the broadcast channels, mobile phone 10 determines that at least two broadcast channels used for transmitting voice messages are not occupied.
[0266] For example, the preset time period before the current time can be recorded as the fourth time period, such as "1s" or other time periods. Mobile phone 10 can scan each broadcast channel within this time period. If no voice message or preemption message is received, it indicates that no voice message or preemption message is being transmitted in any of the broadcast channels, and the broadcast channels are not yet occupied. Then, mobile phone 10 can continue to execute S903 as described below.
[0267] S903: Mobile phone 10 broadcasts and sends the first preemption message during each broadcast cycle of the first time period.
[0268] For example, the aforementioned first preemption message is used to preempt each broadcast channel within a preset delay time period (i.e., the aforementioned first time period). As mentioned earlier, the duration of this first time period can be the broadcast period * N. If the preemption is successful, the voice data input by the user collected by the mobile phone 10 can be broadcast to other member devices in the form of voice messages through each broadcast channel. If the preemption fails, the mobile phone 10 can output a preemption failure prompt message to inform the user.
[0269] After successfully preempting the broadcast channel, mobile phone 10 continues to execute the following processes S904 to S907: processing voice messages and broadcasting voice messages. The communication principle of this process can be referred to the above. Figure 6 As shown and related descriptions.
[0270] S904: Mobile phone 10 encodes the first voice data collected within the first time period and generates N first voice messages, where N is a positive integer.
[0271] For example, mobile phone 10 can control the transmission of voice messages through the preempted broadcast channels after a first time delay. As mentioned above, the time period during which mobile phone 10 broadcasts the first preemption message in S903 is also the aforementioned first time period. That is, mobile phone 10 can collect user-inputted voice data and record it as first voice data while sending the first preemption message during the aforementioned first time period.
[0272] Before or at the end of the first time period, mobile phone 10 may encode the aforementioned first voice data and generate N first voice messages. These N first voice messages may be matched with N broadcast cycles within the third time period described below, and the first voice messages may be transmitted in at least two broadcast channels in each broadcast cycle.
[0273] S905: Mobile phone 10 broadcasts and sends the first voice message during each broadcast cycle of the second time period.
[0274] For example, the second time period can be a time period following the first time period, and the start time of the second time period can be the start time of the first time period. The duration of the second time period can also be the broadcast period * N, that is, it can also include N broadcast periods. The mobile phone 10 can send the first voice message generated in S904 through each broadcast channel during each broadcast period of the second time period. (Refer to the above...) Figure 6 Taking three broadcast channels as an example, the first voice message can be repeatedly transmitted on all three channels within the same broadcast cycle. Furthermore, taking N=8 as an example, the first voice message can be repeatedly transmitted eight times over eight broadcast cycles on the same channel. Thus, the probability of the first voice message being scanned and received by other devices is higher, and the reliability of voice transmission is also higher.
[0275] S906: Mobile phone 10 encodes the second voice data collected during the second time period and generates N second voice messages.
[0276] For example, while sending the first voice message during the aforementioned second time period, mobile phone 10 can continuously collect voice data input by the user. The voice data collected during this second time period can be recorded as second voice data. Before or at the end of the second time period, mobile phone 10 can encode the aforementioned second voice data and generate N second voice messages. These N second voice messages can be matched with N broadcast cycles during the aforementioned third time period, and the second voice messages are sent in at least two broadcast channels during each broadcast cycle.
[0277] S907: Mobile phone 10 broadcasts and sends a second voice message during each broadcast cycle of the third time period.
[0278] For example, the aforementioned third time period can be a time period following the aforementioned second time period, and the start time of the third time period can be the start time of the aforementioned second time period. The duration of the third time period can also be the broadcast period * N, that is, it can also include N broadcast periods. The mobile phone 10 can send the second voice message generated in S904 through each broadcast channel during each broadcast period within the third time period. (Refer to the above...) Figure 6 Taking three broadcast channels as an example, the aforementioned second voice message can be repeatedly transmitted on all three channels within the same broadcast cycle. Furthermore, taking N=8 as an example, the aforementioned second voice message can be repeatedly transmitted eight times over eight broadcast cycles on the same channel. Thus, the probability of the second voice message being scanned and received by other devices is higher, and the reliability of voice transmission is also higher.
[0279] It is understandable that after mobile phone 10 successfully seizes the broadcast channel, during the process of broadcasting the first seizure message or broadcasting a voice message, other member devices in the first intercom group may also receive intercom commands. At this time, other member devices interact with mobile phone 10 to execute the following S908 to S914.
[0280] S908: Mobile phone 20 received the second intercom command.
[0281] For example, if mobile phone 20 detects a user operation instructing to conduct an intercom, it can also generate an intercom command, which is the second intercom command received by mobile phone 20. Mobile phone 20 can also receive a first intercom command from other connected electronic devices, without limitation. For details, please refer to the relevant description in S901 above, which will not be repeated here.
[0282] It is understandable that after receiving a walkie-talkie command, mobile phone 20 can execute the command and check whether voice messages or preemptive messages are being transmitted on each broadcast channel. The result of mobile phone 20 checking whether voice messages or preemptive messages are being transmitted on each broadcast channel can include confirming the presence of voice messages or preemptive messages. In this case, mobile phone 20 can execute S909 to S910 accordingly. Alternatively, the result of mobile phone 20 checking whether voice messages or preemptive messages are being transmitted on each broadcast channel can include confirming the absence of voice messages or preemptive messages. In this case, mobile phone 20 can execute S911 to S914 accordingly.
[0283] S909: Based on the scanning results of the broadcast channels, mobile phone 20 determines that at least two broadcast channels used for transmitting voice messages have been occupied.
[0284] For example, the preset time period before the current time can be recorded as the fifth time period. During this time period, the mobile phone 20 can scan each broadcast channel. If a voice message or preemption message is received, it indicates that there is a voice message or preemption message being transmitted in each broadcast channel, and each broadcast channel has been occupied.
[0285] S910: The phone outputs a message indicating that the preemption failed.
[0286] For example, the prompt information may include one or more of the following: sound information, vibration information, text, images, or animation information displayed in the relevant intercom interface, without limitation.
[0287] S911: Based on the scanning results of the broadcast channels, mobile phone 20 determines that at least two broadcast channels used for transmitting voice messages are not occupied.
[0288] For example, when scanning each broadcast channel, due to factors such as a short time interval between the first preemption message sent by mobile phone 10, a long distance between mobile phone 10 and mobile phone 10, or network failure, mobile phone 20 may not receive any voice messages or preemption messages through the broadcast channel, such as the voice messages or first preemption messages broadcast by mobile phone 10 mentioned above. In this case, mobile phone 20 may determine that there are no voice messages or preemption messages being transmitted in each broadcast channel, and that each broadcast channel is not yet occupied. Therefore, it will continue to execute S912 below to preempt each broadcast channel.
[0289] S912: Mobile phone 20 broadcasts a second preemption message.
[0290] For example, based on the determination result in S911 above, mobile phone 20 can respond to the second intercom command received in S908 above, generate a preemption message, and broadcast it. For the sake of distinction, the preemption message broadcast by mobile phone 20 is referred to as the second preemption message.
[0291] S913: Mobile phone 10 broadcasts a message to refuse to accept the attack.
[0292] For example, mobile phone 10 scans each broadcast channel, and if it receives a second preemption message from mobile phone 20, it can generate a rejection message and broadcast it.
[0293] S914: Mobile phone 20 outputs a prompt message indicating that the preemption failed based on the preemption rejection message.
[0294] For example, mobile phone 20 scans each broadcast channel. If it receives a rejection message from mobile phone 10, indicating that the preemption has failed, it can output a preemption failure message. This message can be referred to in the relevant description in S910 above, and will not be repeated here.
[0295] S915: Mobile phone 30 scans the broadcast channel, receives voice messages, and plays the corresponding voice messages.
[0296] For example, mobile phone 30 scans broadcast channels and can receive voice messages transmitted by any broadcast channel within any broadcast period, such as the first voice message and the second voice message mentioned above. These voice messages are broadcast messages encoded from voice data and carry voice data. For example, the first voice message may carry the first voice data collected by mobile phone 10 within the aforementioned first time period, and the second voice message may carry the second voice data collected by mobile phone 10 within the aforementioned first time period. (Refer to the above...) Figure 6 As shown in the communication principle, when the mobile phone 30 successfully receives the first voice message, the second voice message, and other voice messages, it can play the complete voice of the user speaking based on the continuity between the voice data carried in each voice message.
[0297] It is understandable that in the interactive implementation process of S901 to S915 described above, the communication process involving S905, S907, etc., which repeatedly sends voice messages generated in the previous time period according to the broadcast cycle in multiple time periods, helps to ensure that the receiving device (such as mobile phone 30) can successfully receive the voice messages with a higher probability, and improves the reliability of message transmission. Furthermore, the receiving device can play the complete voice content of the relevant user's speech, which also helps to improve the robustness of the group intercom function and enhance the user experience.
[0298] Furthermore, during the interaction implementation of S901 to S915 described above, the mobile phone 10, which has priority in preempting the broadcast channel, can broadcast a rejection message based on the preemption message sent by a member device (such as mobile phone 20) that sends the preemption message later. This preemption mechanism can ensure the stable use of the data channels used for transmitting voice messages in each broadcast channel by the mobile phone 10, and also helps to improve the user experience.
[0299] It can be understood that the above-mentioned preemption mechanism and the communication process of intercom in group intercom can also be summarized as follows: Figure 10 The diagram shows the communication processing flow based on broadcast messages.
[0300] Figure 10 A timing flowchart of another communication method is shown according to an embodiment of this application.
[0301] like Figure 10 As shown, when receiving a walkie-talkie command, the mobile phone 10 can check whether there are voice messages or preemption messages being transmitted on each broadcast channel. If it is determined that the broadcast channel is not occupied, it can broadcast a first preemption message to preempt each broadcast channel. For details, please refer to the relevant descriptions in S901 to S903 above, which will not be repeated here.
[0302] After successfully seizing the broadcast channel, the mobile phone 10 can broadcast and send voice messages through various broadcast channels after collecting voice data for a period of time. For the specific process of collecting voice data, generating and sending voice messages, please refer to the relevant descriptions in S904 to S907 above, which will not be repeated here.
[0303] After mobile phone 10 receives the intercom command, mobile phone 20 may also receive it. However, the timing of receiving the intercom command by mobile phones 10 and 20 may be very close, or the distance between them may be large, or either mobile phone 10 or 20 may experience a network failure (such as poor network quality). Therefore, mobile phone 20 may not receive the preemption message or voice message at this time. In this case, mobile phone 20 checks whether voice messages or preemption messages are being transmitted on each broadcast channel. If it determines that the broadcast channel is not occupied, it will then broadcast a second preemption message. For details, please refer to the relevant descriptions in S911 to S912 above, which will not be repeated here.
[0304] Mobile phone 10 scans the broadcast channel. If it receives a second preemption message from mobile phone 20, it can broadcast a refusal message. For details, please refer to the relevant description in S913 above, which will not be repeated here.
[0305] Mobile phone 20 scans the broadcast channel. If it receives a rejection message from mobile phone 10, it can determine that the broadcast channel is already occupied, and thus outputs a message indicating that the attempt to seize the channel failed. For details, please refer to the relevant description in S914 above; it will not be repeated here.
[0306] It is understandable that if mobile phone 20 receives the first preemption message sent by mobile phone 10 while scanning the broadcast channel, or receives a voice message sent by mobile phone 10, it can directly determine that the broadcast channel has been occupied, and thus output a preemption failure prompt message. For details, please refer to the relevant descriptions in S908 to S910 above, which will not be repeated here.
[0307] It is understood that the various broadcast messages involved in the communication method provided in this application, such as heartbeat messages, join messages, leave messages, preemption messages, voice messages, and refusal-to-preemption messages, can have correspondingly designed protocol stack structures (also known as frame structures) in the corresponding communication protocols. As mentioned above, the wireless communication technology used in the communication method provided in this application may include, but is not limited to, the aforementioned StarFlash SLE, Bluetooth BLE, etc. Among them, StarFlash SLE can adopt the StarFlash protocol (such as the StarFlash 1.0 protocol), and Bluetooth BLE can adopt a communication protocol based on the Bluetooth SIG definition, adopting a layered protocol stack structure. The physical layer is used to provide at least two broadcast channels (such as three broadcast channels) for transmitting voice messages, as well as broadcast channels for transmitting other data or messages to implement the communication method provided in this application.
[0308] The following section uses the StarSpark protocol as an example to illustrate the protocol stack structure of various broadcast messages in the communication method provided in this application, with reference to the accompanying drawings.
[0309] It is understandable that in other communication protocols, the protocol stack structure used by the various broadcast messages described above can be the same as the following: Figure 11 The structures shown may differ, or they may have some identical fields and other different fields, etc., which are not restricted here.
[0310] As an example, Figure 11 A schematic diagram of the protocol stack structure of a Star Flash message is shown according to an embodiment of this application.
[0311] like Figure 11 As shown, the StarFlash message consists of a header and a data portion, a structure that is a common message format in the communications field. The header describes the message's control information, while the data portion carries the specific service data.
[0312] Continue to refer to Figure 11 The header of a StarSpark message can consist of broadcast length, broadcast type, Universally Unique Identifier (UUID), and Business Type.
[0313] The broadcast length is used to identify the length of the broadcast data in the Star Flash message, usually in bytes. When broadcasting, the broadcast length helps the receiving device correctly parse the broadcast data, ensuring data integrity and accuracy.
[0314] Broadcast type is used to identify the type of message, such as request, response, or proactive reporting, so that the receiving device can perform the corresponding operation according to the type. Requests, such as request messages (REQ), are used to initiate communication requests. Responses, such as response messages (RSP), are used to respond to requests. Proactive reporting, such as proactive reporting messages (RPT), is used to proactively push data. Further details are omitted here.
[0315] A service UUID is used to identify the services supported by the StarFlash device. During device discovery and connection, the service UUID helps identify the type of service provided by the device. For example, in this embodiment, the service UUID is used to identify a specific service type, such as group intercom service, or simply group intercom service.
[0316] Service type is used to identify the service type to which a message belongs, such as data transmission or control commands. It helps the receiving device to process the message accordingly, thereby improving communication efficiency and relevance.
[0317] Continue to refer to Figure 11 The data portion of the StarFlash message can consist of chat group ID, intercom group ID, sender ID, intercom service type, and data. The intercom service type and data, corresponding to messages or voice messages with different control functions, can have different field contents. In this embodiment, the field contents of the intercom service type and data may include, but are not limited to:
[0318] 1. Group Owner Heartbeat (Intercom Invitation): The data portion of this field may include location latitude / longitude / floor, azimuth, intercom member list, network / no network status, etc., where "1" is a type identifier. This field content may correspond to a heartbeat message containing an intercom invitation, such as the first heartbeat message, second heartbeat message, fifth heartbeat message, etc., mentioned above. In some embodiments, "Group Owner Heartbeat (Intercom Invitation)" may also carry data portions such as an intercom invitation request.
[0319] The "Location Latitude / Longitude / Floor" field in this data section can carry location information for the group owner's device, such as the location information for phone 10 mentioned above. The "Azimuth" field can carry orientation information for the group owner's device, such as the top orientation of phone 10. Figure 2d The arrow below location icon 236 in the intercom interface 230 indicates the location. The "Intercom Member List" can carry the number of intercom members and their identification information for the relevant intercom group (e.g., the first intercom group) at a given time. The "Network On / Offline Status" can carry descriptive information related to network on / off status. This field can be used to determine whether the group owner's avatar displayed in the relevant intercom interface has an "offline" marker, as described above. Figure 2c The unmarked marker 234 in the intercom interface 230 shown.
[0320] 2. Member Heartbeat: The data portion of this field can include location (latitude / longitude / floor), azimuth, and network / no-network status, where "2" is a type identifier. This field corresponds to a heartbeat message containing the location information of the intercom member. The "location (latitude / longitude / floor)" data portion can carry location information of member devices already in the relevant intercom group, the "azimuth" can carry direction information of the member device, and the "network / no-network status" can be used to determine whether the member's avatar displayed on the relevant intercom interface carries a no-network marker.
[0321] 3. Joining the Intercom: The data portion of this field may include the joiner's account ID, joiner's device ID, etc., where "3" is a type identifier. This field corresponds to the join message sent by the intercom member when receiving an invitation to join a relevant intercom group (such as the first intercom group). The "joiner's account ID" included in the above data portion may carry the account ID logged in on the electronic device joining the relevant intercom group, such as the account ID logged in on the aforementioned mobile phone 20. This account ID can be bound to the user's identity information for user identification. The "joiner's device ID" may carry the device ID of the electronic device joining the intercom group, such as the device ID of mobile phone 20.
[0322] It is understood that carrying the joiner's account ID in the join message can be used to identify the user joining the relevant intercom group, thereby passing the aforementioned security verification. Based on this, carrying the joiner's device ID in the join message can be used to identify the electronic device the user is currently using to join the intercom group. Within the same intercom group, only one device logged in under a user's account ID can join; this is not restricted or elaborated upon here.
[0323] 4. Exit Intercom: The data portion of this field may include the device ID of the person leaving, where "4" is a type identifier. This field may correspond to an exit message indicating that an intercom member has left the intercom group. The "device ID of the person leaving" may carry the device ID of the electronic device that left the relevant intercom group.
[0324] 5. Channel preemption, where "5" is a type identifier. The content of this field can correspond to a preemption message sent by the transmitting device containing intercom voice, such as the first or second preemption message mentioned above.
[0325] 6. Deny Channel Preemption, where "6" is a type identifier. The content of this field can correspond to a denial message broadcast by a transmitting device that has preempted the broadcast channel, such as the denial message sent by mobile phone 10 based on the second preemption message mentioned above.
[0326] 7. Intercom Voice: The data portion of this field may include the Seq number, voice encoding type, and voice encoding data, where "7" is the type identifier. This field corresponds to the voice message sent by the transmitting device based on the user-input voice data, such as the voice message sent by the aforementioned mobile phone 10 in response to the received first intercom command. The "Seq number" in the data portion of this field is the sequence number, a number used to identify the order of voice data packets during transmission. In the voice message, the Seq number is used to identify the order of voice data packets, ensuring the sequentiality, integrity, and real-time nature of the voice data. "Voice encoding type" refers to the different types distinguished by different encoding principles during the conversion of analog voice signals into digital signals, including waveform encoding, parametric encoding, and hybrid encoding. "Voice encoding data" refers to the encoded voice data, which can carry voice data, such as the user-input voice data collected by the aforementioned mobile phone 10.
[0327] In other embodiments, the above-mentioned types of identifiers can also be set as other forms of identifiers, such as letter identifiers or special symbol identifiers.
[0328] Continue to refer to Figure 11 Chat group IDs, such as the "hiking group" mentioned above, are used to identify chat groups that users have joined in instant messaging applications. In some embodiments, the chat group ID can be the account ID logged in by the group owner's device or an identifier associated with the group owner's ID.
[0329] The intercom group ID, as described above (first intercom group ID), is used to identify intercom groups created by users in chat groups and intercom groups that users have joined. In some embodiments, the intercom group ID can be the account ID that initiated the creation of the intercom group or the group owner ID of the relevant intercom group, etc.
[0330] The sender ID refers to the account ID logged into on the device used by the sender of the intercom voice message. This account ID can be bound to the device ID of the device currently joining the intercom group, used to identify the user speaking and the electronic device they are using. It can be understood that one account ID can log into multiple devices and thus be bound to multiple device IDs. In this embodiment, a user can join an intercom group using one of the devices logged into with that account ID.
[0331] It is understood that the various broadcast messages involved in the implementation of the communication method provided in this application adopt the above-mentioned... Figure 11 The protocol stack structure shown can unify the header fields and support the broadcast transmission of various data or control information related to intercom services, thereby realizing the communication method provided in this application.
[0332] It is understood that various broadcast messages involved in the implementation of the communication method provided in this application can be sent encrypted, for example, using a key pre-generated when the chat group to which the initiating intercom device belongs, or using a key generated when the relevant intercom group is created; no restrictions are placed here. The aforementioned keys can be symmetric keys or asymmetric keys; no restrictions are placed here.
[0333] Figure 12 A schematic diagram of the hardware structure of an electronic device is shown according to an embodiment of this application.
[0334] In the embodiments of this application, Figure 12 The electronic devices shown may include, but are not limited to, the mobile phones 10, 20 and 30 mentioned above, and may also include other types of electronic devices such as tablet computers, laptops, and wearable devices, without limitation.
[0335] Electronic device 100 may include processor 110, external memory interface 120, internal memory 121, universal serial bus (USB) interface 130, charging management module 140, power management module 141, battery 142, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, sensor module 180, button 190, motor 191, indicator 192, camera 193, display screen 194, and subscriber identity module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0336] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0337] Processor 110 may include one or more processing units, such as application processors (APs), modem processors, graphics processing units (GPUs), image signal processors (ISPs), controllers, video codecs, digital signal processors (DSPs), baseband processors, and / or neural network processing units (NPUs). These different processing units may be independent devices or integrated into one or more processors.
[0338] The controller can generate operation control signals based on the instruction opcode and timing signals to complete the control of instruction fetching and execution.
[0339] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the aforementioned memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0340] In this embodiment, the processor 110 of the electronic device can generate operation control instructions through the aforementioned controller to complete the operation of the aforementioned... Figure 5 , Figure 7 or Figure 9 The instructions for the relevant steps in the process shown are controlled to fetch and execute instructions in order to realize the communication method provided in this application.
[0341] The wireless communication function of electronic device 100 can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.
[0342] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with a tuning switch.
[0343] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLANs) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite systems (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.
[0344] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling electronic device 100 to communicate with networks and other devices via wireless communication technology. The aforementioned wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time-Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The aforementioned GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or the Satellite Based Augmentation System (SBAS).
[0345] Electronic device 100 implements display functions through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0346] In this embodiment, the electronic device 100 utilizes display functions implemented through a GPU, a display screen 194, and an application processor to support the electronic device 100 in displaying the aforementioned... Figures 2a to 2d , Figures 3a to 3c , Figures 4a to 4c The interfaces shown and other related interfaces.
[0347] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel may be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a Mini-LED, a Micro-LED, a Micro-OLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, electronic device 100 may include one or N displays 194, where N is a positive integer greater than 1.
[0348] Electronic device 100 can perform shooting functions through ISP, camera 193, video codec, GPU, display 194 and application processor.
[0349] The external storage interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external storage interface 120 to perform data storage functions. For example, music, video, and other files can be saved on the external memory card.
[0350] Internal memory 121 can be used to store computer executable program code, including instructions. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback, image playback, etc.), etc. The data storage area may store data created during the use of electronic device 100 (such as audio data, phonebook, etc.). In addition, internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc. Processor 110 executes various functional applications and data processing of electronic device 100 by running instructions stored in internal memory 121 and / or instructions stored in memory disposed in the processor.
[0351] Electronic device 100 can implement audio functions, such as music playback and recording, through audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor.
[0352] The audio module 170 is used to convert digital audio information into analog audio signals for output, and also to convert analog audio input into digital audio signals. The audio module 170 can also be used for encoding and decoding audio signals. In some embodiments, the audio module 170 may be located in the processor 110, or some functional modules of the audio module 170 may be located in the processor 110.
[0353] The speaker 170A, also known as a "loudspeaker," is used to convert audio electrical signals into sound signals. The electronic device 100 can listen to music or make hands-free calls through the speaker 170A.
[0354] The receiver 170B, also known as the "earpiece," is used to convert audio electrical signals into sound signals. When the electronic device 100 answers a telephone call or voice message, the receiver 170B can be brought close to the ear to listen to the voice.
[0355] Microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals. When making a phone call or sending a voice message, the user can speak by bringing their mouth close to microphone 170C, inputting the sound signal into microphone 170C. Electronic device 100 may have at least one microphone 170C. In some embodiments, electronic device 100 may have two microphones 170C, which, in addition to collecting sound signals, can also perform noise reduction. In other embodiments, electronic device 100 may also have three, four, or more microphones 170C, which can collect sound signals, reduce noise, identify the sound source, and perform directional recording, etc.
[0356] In this embodiment, the microphone 170C is also used to collect user-input voice data, which is then encoded into a voice message and broadcast through at least two broadcast channels provided by the wireless communication technology.
[0357] The 170D headphone jack is used to connect wired headphones. The 170D headphone jack can be a USB 130 interface or a 3.5mm Open Mobile Terminal Platform (OMTP) standard interface, a CTIA (Cellular Telecommunications Industry Association of the USA) standard interface.
[0358] Pressure sensor 180A is used to sense pressure signals and convert them into electrical signals. In some embodiments, pressure sensor 180A can be disposed on display screen 194. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, and capacitive pressure sensors. A capacitive pressure sensor may include at least two parallel plates with conductive material. When force is applied to pressure sensor 180A, the capacitance between the electrodes changes. Electronic device 100 determines the pressure intensity based on the change in capacitance. When a touch operation is applied to display screen 194, electronic device 100 detects the intensity of the touch operation based on pressure sensor 180A. Electronic device 100 can also calculate the touch position based on the detection signal from pressure sensor 180A. In some embodiments, touch operations applied to the same touch position but with different touch operation intensities can correspond to different operation commands.
[0359] The gyroscope sensor 180B can be used to determine the motion attitude of the electronic device 100. In some embodiments, the gyroscope sensor 180B can determine the angular velocity of the electronic device 100 about three axes (i.e., the x, y, and z axes). The gyroscope sensor 180B can be used for image stabilization. For example, when the shutter is pressed, the gyroscope sensor 180B detects the angle of the shake of the electronic device 100, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to counteract the shake of the electronic device 100 by moving in the opposite direction, thus achieving image stabilization. The gyroscope sensor 180B can also be used in navigation and motion-sensing game scenarios.
[0360] The 180E accelerometer can detect the magnitude of acceleration of electronic device 100 in various directions (typically three axes). When electronic device 100 is stationary, it can detect the magnitude and direction of gravity. It can also be used to identify the posture of electronic devices and applied to applications such as screen orientation switching and pedometers.
[0361] In the embodiments of this application, the gyroscope sensor 180B and the accelerometer sensor 180E can be used to determine the azimuth angle and other position information of the electronic device.
[0362] A distance sensor 180F is used to measure distance. Electronic device 100 can measure distance via infrared or laser. In some embodiments, during a shooting scene, electronic device 100 can utilize the distance sensor 180F to measure distance for rapid focusing.
[0363] The fingerprint sensor 180H is used to collect fingerprints. The electronic device 100 can utilize the characteristics of the collected fingerprints to achieve fingerprint unlocking, accessing application locks, taking photos with fingerprints, answering calls with fingerprints, etc.
[0364] Touch sensor 180K, also known as a "touch device," can be located on display screen 194. The touch sensor 180K and display screen 194 together form a touchscreen, also known as a "touchscreen." Touch sensor 180K detects touch operations applied to or near it. The touch sensor can transmit the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through display screen 194. In other embodiments, touch sensor 180K may also be located on the surface of electronic device 100, in a different position than display screen 194.
[0365] In this embodiment, the pressure sensor 180A and the touch sensor 180K can receive the user's long press operation on the intercom key in the relevant intercom interface, identify the user's speaking intention, and then seize the broadcast channel, collect voice data, and broadcast voice messages.
[0366] Buttons 190 include a power button, volume buttons, etc. Buttons 190 can be mechanical buttons or touch-sensitive buttons. Electronic device 100 can receive button input and generate key signal inputs related to user settings and function control of electronic device 100.
[0367] In this embodiment, button 190, such as the "volume+" button, can support preset PTT intercom function to receive button input, recognize the user's speaking intention in the relevant intercom interface, and thus seize the broadcast channel, collect voice data, and broadcast voice messages.
[0368] Motor 191 can generate vibration alerts. Motor 191 can be used for incoming call vibration alerts or for touch vibration feedback. For example, different vibration feedback effects can correspond to touch operations performed on different applications (such as taking photos, playing audio, etc.). Motor 191 can also correspond to different vibration feedback effects for touch operations performed on different areas of the display screen 194. Different application scenarios (such as time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also be customized.
[0369] In this embodiment, the motor 191 can be used to output a prompt message indicating a failed microphone grabbing, providing the user with vibration feedback for the failed microphone grabbing.
[0370] Indicator 192 can be an indicator light, used to indicate charging status, power changes, or to indicate messages, missed calls, notifications, etc.
[0371] The SIM card interface 195 is used to connect a SIM card. The SIM card can be inserted into or removed from the SIM card interface 195 to make contact with and separate from the electronic device 100. The electronic device 100 can support one or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, etc. Multiple cards can be inserted into the same SIM card interface 195 simultaneously. The types of these multiple cards can be the same or different. The SIM card interface 195 is also compatible with different types of SIM cards. The SIM card interface 195 is also compatible with external memory cards. The electronic device 100 interacts with the network through the SIM card to realize functions such as calls and data communication. In some embodiments, the electronic device 100 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the electronic device 100 and cannot be separated from the electronic device 100.
[0372] This application also provides an apparatus, including a module for performing the communication method provided in the specific embodiments described above.
[0373] This application also provides a chip, including a processor coupled to a memory, for executing computer programs or instructions stored in the memory, so that the chip executes the communication method provided in the above specific embodiments.
[0374] This application also provides a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the communication method provided in the above-described specific embodiments.
[0375] This application also provides a computer program product, including a computer program / instruction, which, when executed by a processor, is used to implement the communication method provided in the specific embodiments described above.
[0376] Various embodiments of the mechanisms disclosed in this application can be implemented in hardware, software, firmware, or combinations of these implementation methods. Embodiments of this application can be implemented as computer program modules or module code executable on a programmable system, the programmable system including at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device.
[0377] Computer program modules or module code can be applied to input instructions to perform the functions described in this application and generate output information. The output information can be applied to one or more output devices in a known manner. For the purposes of this application, the processing system includes any system having a processor such as, for example, a digital signal processor (DSP), a microcontroller, an application-specific integrated circuit (ASIC), or a microprocessor.
[0378] Module code can be implemented using a high-level modular language or an object-oriented programming language to communicate with the processing system. Assembly language or machine language can also be used to implement module code when needed. The mechanisms described in this application are not limited to any particular programming language. In either case, the language can be a compiled language or an interpreted language.
[0379] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions carried or stored thereon on one or more temporary or non-temporary machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors. For example, the instructions may be distributed via a network or via other computer-readable storage media. Therefore, machine-readable storage media may include any mechanism for storing or transmitting information in a machine-readable (e.g., computer-readable) form, including but not limited to floppy disks, optical disks, optical discs, magneto-optical disks, read-only memory (ROM), random access memory (RAM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic cards or optical cards, flash memory, or tangible machine-readable storage for transmitting information (e.g., carrier waves, infrared signals, digital signals, etc.) using the Internet in the form of electrical, optical, acoustic, or other forms of propagated signals. Therefore, machine-readable storage media include any type of machine-readable storage media suitable for storing or transmitting electronic instructions or information in a machine-readable (e.g., computer-readable) form.
[0380] In this specification, the reference to "an embodiment" or "an embodiment" means that a specific feature, structure, or characteristic described in connection with the embodiment is included in at least one exemplary implementation or technology disclosed according to an embodiment of this application. The appearance of the phrase "in an embodiment" in various places in the specification does not necessarily refer to the same embodiment.
[0381] The disclosure of embodiments of this application also relates to means for performing operations in text. This means may be specifically constructed for the claimed purpose or may include a general-purpose computer selectively activated or reconfigured by a computer program stored in a computer. Such a computer program may be stored in a computer-readable storage medium, such as, but not limited to, read-only memory (ROM), random access memory (RAM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), any type of disk, such as floppy disk, optical disk, CD-ROM, magneto-optical disk, magnetic or optical card, application-specific integrated circuit (ASIC), or any type of medium suitable for storing electronic instructions, and each may be coupled to a system bus. Furthermore, the computer mentioned in the specification may include a single processor or may be an architecture employing multiple processors for increased computing power.
[0382] Furthermore, the language used in this specification has been primarily chosen for readability and instructional purposes and may not have been chosen to depict or limit the disclosed subject matter. Therefore, the embodiments disclosed in this application are intended to illustrate, and not limit, the scope of the concepts discussed herein.
Claims
1. A communication method, characterized in that, Applied to a first device, the first device being in a state without network connection, the method includes: Received the first intercom command; In response to the first intercom command, after a first time period following the receipt of the first intercom command, a voice message is broadcast through at least two broadcast channels, wherein the voice message is a broadcast message generated based on the voice data collected by the first device.
2. The method according to claim 1, characterized in that, The method of broadcasting voice messages through at least two broadcast channels includes: N first voice messages are broadcast through the at least two broadcast channels, where N is a positive integer, and the first voice message is a broadcast message generated based on the first voice data collected by the first device within the first time period.
3. The method according to claim 2, characterized in that, The method of broadcasting voice messages through at least two broadcast channels also includes: N second voice messages are broadcast through the at least two broadcast channels, wherein the second voice message is a broadcast message generated based on the second voice data collected by the first device within a second time period, and the start time of the second time period is the end time of the first time period.
4. The method according to claim 3, characterized in that, The second time period includes N broadcast cycles, and the broadcasting of N first voice messages through the at least two broadcast channels includes: The first voice message is broadcast and transmitted through at least two broadcast channels during the N broadcast cycles.
5. The method according to claim 4, characterized in that, The first time period and the second time period are time periods of equal duration.
6. The method according to any one of claims 2 to 5, characterized in that, The first intercom command includes any one of the following: The intercom command generated by a long press operation on the first intercom key in the first intercom interface displayed on the first device; The intercom command generated by the long press operation on the first button of the first device; Intercom commands from a collaborative device that has established a collaborative connection with the first device.
7. The method according to claim 6, characterized in that, The method further includes: During the first time period, a first message is broadcast through the at least two broadcast channels, and the first message is used to preempt the at least two broadcast channels.
8. The method according to claim 7, characterized in that, The step of broadcasting the first message through the at least two broadcast channels includes: In response to the first intercom command, the scanning results of the at least two broadcast channels within a fourth time period prior to the current time are obtained, wherein the end time of the fourth time period is earlier than the start time of the first time period; Based on the scan results, it is determined that at least two broadcast channels are not occupied; The first message is broadcast through the at least two broadcast channels.
9. The method according to claim 6, characterized in that, The method further includes: Based on the scanning results of the at least two broadcast channels, it is determined that the at least two broadcast channels are occupied; The system outputs a prompt message indicating that the preemption failed. The prompt message includes one or more of the following: sound information, vibration information, text, images, or animation information displayed in the first intercom interface.
10. The method according to any one of claims 6 to 9, characterized in that, The first intercom interface also includes a user identifier of the first device and user identifiers of at least two second devices, wherein at least one of the user identifiers displays a no-network marker, which is used to indicate that the device used by the corresponding user is in the no-network connection state.
11. The method according to claim 6, characterized in that, The first intercom interface is triggered to be displayed in any of the following ways: A click operation on a first control on the first interface is detected, and the first intercom interface is displayed, wherein the first control is used to activate the intercom function in the absence of a network connection; or, A click operation on the second control of the second interface is detected, and the first intercom interface is displayed. The second control is used to join the first intercom group. The devices used by the members of the first intercom group include at least one device that is in the state of no network connection.
12. The method according to claim 11, characterized in that, The first interface includes a chat interface for a first group joined by a user of the first device using a first application. The first control is also used to trigger the creation of the first walkie-talkie group. The method further includes: Upon detecting a click operation on a first control on the first interface, a first heartbeat message is broadcast and sent through the at least two broadcast channels. The first heartbeat message includes an intercom invitation, which is used to invite at least two second devices to join the first intercom group. Based on the join messages from the at least two second devices, a second heartbeat message is broadcast through the at least two broadcast channels. The join message includes at least the identification information of the account logged in by the second device and the identification information of the second device. The second heartbeat message is used to broadcast the member list information of the first intercom group, which includes the device information of the at least two second devices.
13. The method according to claim 12, characterized in that, The first heartbeat message includes the identification information of the first group, the identification information of the first intercom group, the first member list information of the first intercom group, the identification information of the first device, and the first location information of the first device at a first moment, wherein the first moment corresponds to the moment when the first heartbeat message is generated. The second heartbeat message includes the identification information of the first group, the identification information of the first intercom group, the second member list information of the first intercom group, the identification information of the first device, and the second location information of the first device at a second time. The second member list information includes the device information of the at least two second devices, and the second time corresponds to the time when the second heartbeat message is generated.
14. The method according to any one of claims 6 to 13, characterized in that, The voice message receiving device includes at least two second devices, and the method further includes: A third heartbeat message is received from a third device, wherein the third heartbeat message includes the identification information of the third device and the current third location information of the third device, and the at least two second devices include the third device; Based on the identification information of the third device and the third location information, the location of the user identifier in the first intercom interface corresponding to the third device is updated to the location indicated by the third location information.
15. The method according to claim 14, characterized in that, The method further includes: If the scanning and reception result of the third heartbeat message is determined to meet the state switching condition, the first state flag corresponding to the user identifier of the third device is updated to the second state flag in the first intercom interface, wherein the state indicated by the first state flag is different from the state indicated by the second state flag.
16. The method according to any one of claims 1 to 15, characterized in that, After broadcasting the first message through the at least two broadcast channels, the method further includes: Receive a second message from a fourth device, the second message being used to preempt the at least two broadcast channels; Based on the second message, a third message is sent through the at least two broadcast channels, the third message being used to refuse the fourth device from preempting the at least two broadcast channels.
17. The method according to any one of claims 1 to 16, characterized in that, The method further includes: Received an exit message from the fifth device; Based on the exit message, a fourth heartbeat message is broadcast through the at least two broadcast channels, wherein the fourth heartbeat message is used to broadcast third member list information, and the third member list information does not include the device information of the fifth device.
18. A communication method, characterized in that, Applied to a second device, which is in a state without network connection, the method includes: After the first device receives the first intercom command, during the first time period, it receives a voice message from the first device through any one of at least two broadcast channels, wherein the voice message is a broadcast message generated from the voice data collected by the first device; Play the audio corresponding to the aforementioned audio message.
19. The method according to claim 18, characterized in that, The method includes: During a first time period, a first message is received from the first device through any one of the at least two broadcast channels, the first message being used to preempt the at least two broadcast channels.
20. The method according to claim 19, characterized in that, The method further includes: Received second intercom command; Based on the received first message or the voice message, output a prompt message indicating that the preemption failed.
21. The method according to claim 19, characterized in that, The method further includes: Received second intercom command; Based on the failure to receive the first message or the voice message, a second message is broadcast through the at least two broadcast channels, wherein the second message is used to preempt the at least two broadcast channels; Based on the third message received from the first device, a preemption failure message is output, wherein the third message is used to refuse to preempt the at least two broadcast channels.
22. The method according to claim 21, characterized in that, The second intercom command includes any one of the following: The intercom command generated by a long press operation on the second intercom key in the second intercom interface displayed on the second device; The intercom command generated by a long press operation on the second button of the second device; Intercom commands from a collaborative device that has established a collaborative connection with the first device.
23. The method according to claim 22, characterized in that, The first device is an electronic device that initiates an intercom and creates a first intercom group, and the method further includes: A first heartbeat message is received from the first device through any one of the at least two broadcast channels, wherein the first heartbeat message includes an intercom invitation, the intercom invitation being used to invite at least two of the second devices to join the first intercom group; The second interface is displayed, and the second interface includes a second control for joining the first intercom group; A click operation is detected on the second control, and the second intercom interface is displayed.
24. The method according to claim 23, characterized in that, The method further includes: Join messages are broadcast through the at least two broadcast channels, and the join messages include at least the identification information of the account logged in by the second device and the identification information of the second device.
25. The method according to claim 24, characterized in that, The second intercom interface includes a third control for exiting the first intercom group, and the method further includes: A click operation is detected on the third control, and a third interface is displayed, wherein the third interface includes a confirmation notification related to leaving the first intercom group, the confirmation notification being used to instruct the user to confirm whether to leave the first intercom group.
26. The method according to claim 25, characterized in that, The method further includes: Exit messages are broadcast through the at least two broadcast channels, wherein the exit messages are used to indicate exiting the first intercom group.
27. A communication system, characterized in that, It includes at least a first device and at least two second devices, wherein, The first device is used to perform the communication method according to any one of claims 1 to 17; Each of the second devices is used to perform the communication method according to any one of claims 18 to 26.
28. An electronic device, characterized in that, include: One or more processors; One or more memories; the one or more memories storing one or more programs, which, when executed by the one or more processors, cause the electronic device to perform the communication method of any one of claims 1 to 17, or cause the electronic device to perform the communication method of any one of claims 18 to 26.
29. A computer-readable storage medium, characterized in that, The readable storage medium stores instructions that, when executed on a computer, cause the computer to perform the communication method of any one of claims 1 to 17, or cause the computer to perform the communication method of any one of claims 18 to 26.
30. A computer program product, characterized in that, It includes a computer program / instruction that, when executed by a processor, implements the communication method of any one of claims 1 to 17, or when executed by a processor, implements the communication method of any one of claims 18 to 26.
Citation Information
Patent Citations
Group instant messaging device, system and instant messaging method
CN112422399A
Multi-packet voice transmission method based on PTT control, terminal and storage medium
CN113099397A
Bluetooth-based low-power-consumption multi-user real-time voice transmission method
CN115665672A