Method and related device for displaying a play record

By determining the distance and information matching between smart home devices, the source of the song requested by the user can be identified, solving the problem that devices such as smart speakers cannot distinguish user requests, thus improving the accuracy of content recommendations and user experience.

CN116541589BActive Publication Date: 2026-06-19PETAL CLOUD TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
PETAL CLOUD TECH CO LTD
Filing Date
2022-01-26
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

In smart home scenarios, devices such as smart speakers cannot distinguish whether a user request is initiated by a user of a personal device, which reduces the accuracy of historical playback data records and affects the accuracy of content recommendations and user experience.

Method used

By determining the distance, IP address, location information, or device information between the first and second electronic devices, and combining this with short-range communication connections, the system identifies whether the playback data was generated by a user of a personal device, and then displays or does not display the corresponding song in the historical playback record.

Benefits of technology

It improves the accuracy of content recommendations based on users' historical playback records, thereby enhancing the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116541589B_ABST
    Figure CN116541589B_ABST
Patent Text Reader

Abstract

This application discloses a playback history display method and related equipment. An IoT device is bound to the same account as a user's personal device. After receiving a request from a user to play multimedia data (such as music data), the IoT device can obtain the requested multimedia data resources from the server. At the same time, the server can determine whether the distance between the personal device and the IoT device is less than or equal to a preset distance threshold. If so, the server will calculate the user's preference for the requested multimedia data based on the pre-stored historical playback data records of the bound account. If the preference is high, it is determined that the user who initiated the request is the account owner of the bound account, and the requested multimedia data can be added to the historical playback data records of the bound account and displayed on the personal device as a data source for subsequent content recommendation, thereby improving the accuracy of content recommendation and enhancing the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of terminal technology, and in particular to a method for displaying playback records and related equipment. Background Technology

[0002] With the development of Internet of Things (IoT) technology, more and more smart home devices (also known as IoT devices) such as smart speakers and smart TVs are entering homes. These IoT devices can support user voice operation and have functions such as multimedia data playback (such as music data playback, video data playback, etc.).

[0003] In smart home scenarios, smart home devices such as smart speakers and smart TVs can typically be used by multiple family members. Taking music playback as an example, if a user requests a smart home device to play music, the music server cannot distinguish whether the request was initiated by the user of the personal device (such as a mobile phone) or by another family member of that user. Consequently, it cannot distinguish whether the playback data was generated by the user of the personal device or by another family member of that user. This may further reduce the accuracy of subsequent content recommendations for users of personal devices based on the user's historical playback data records, resulting in a poor user experience. Summary of the Invention

[0004] This application provides a playback history display method and related equipment, which can more accurately identify whether the playback data of an IoT device is generated by the user of the personal device or by other family members of the user, thereby improving the accuracy of content recommendation for users of personal devices based on the user's historical playback history and improving the user experience.

[0005] In a first aspect, embodiments of this application provide a playback history display method applied to a first electronic device, characterized in that both the first electronic device and a second electronic device are associated with a first account, the method comprising: the first electronic device displaying a first historical playback record, the first historical playback record being the historical playback record of the first account, the first historical playback record not including a first song; the first electronic device receiving a first message sent by a server; the first electronic device displaying a second historical playback record based on the first message, the second historical playback record including the first song, wherein the first song is a song played by the second electronic device when the distance between the first electronic device and the second electronic device is less than or equal to a first preset threshold.

[0006] In this application embodiment, by implementing the method of the first aspect, when the distance between the first electronic device (e.g., a mobile phone) and the second electronic device (e.g., a smart speaker) is less than or equal to a first preset threshold, and both the first and second electronic devices are associated with the same account, it can be considered that the song played on the second electronic device is played by the user of the first electronic device. Furthermore, the first electronic device can also display the song played on the second electronic device in the historical playback record, thereby improving the user experience.

[0007] In one possible implementation, the method further includes: the first electronic device displaying a third historical playback record, the third historical playback record not including a second song, wherein the second song is a song played by the second electronic device when the distance between the first electronic device and the second electronic device is greater than the first preset threshold.

[0008] In this way, if the distance between the first electronic device and the second electronic device is greater than the first preset threshold, it can be determined that the second song was not played by the user of the first electronic device. Furthermore, it is not necessary to display the second song in the third historical playback record, and it will not affect the effect of recommending content to the user of the first electronic device based on the third historical playback record.

[0009] In one possible implementation, the distance between the first electronic device and the second electronic device being less than or equal to the first preset threshold is obtained by the server when it determines that the IP address of the first electronic device is the same as the IP address of the second electronic device.

[0010] In this way, it can be determined whether the distance between the first electronic device and the second electronic device is less than or equal to the first preset threshold by judging whether the IP address of the first electronic device is the same as the IP address of the second electronic device.

[0011] In one possible implementation, the distance between the first electronic device and the second electronic device being less than or equal to the first preset threshold is obtained by the server when it determines that the first location information and the first reference location information are the same; wherein, the first location information is the location information of the first electronic device periodically sent to the server, and the first reference location information is the location information of the first electronic device sent to the server when the second electronic device is associated with the first account.

[0012] In this way, it can be determined whether the distance between the first electronic device and the second electronic device is less than or equal to the first preset threshold by judging whether the location information of the first electronic device is the same as that of the second electronic device when the location information of the first electronic device is associated with the first account (i.e. when the first electronic device and the second electronic device establish a binding relationship).

[0013] In one possible implementation, before the first electronic device receives the first message sent by the server, the method further includes: the first electronic device detecting one or more electronic devices associated with the first account in the same network based on a short-range communication connection, and obtaining device information of the one or more electronic devices, wherein the device information of the one or more electronic devices includes the device information of the second electronic device.

[0014] In this way, the first electronic device can obtain information about one or more electronic devices in the same network that are associated with the first account through a short-range communication connection. If the device information of one or more electronic devices includes the device information of the second electronic device, then the distance between the first electronic device and the second electronic device can be considered to be less than or equal to the first preset threshold.

[0015] In one possible implementation, the average difference between the first song and the songs in the first historical playback record is less than or equal to a second preset threshold, and the average difference is determined based on the difference between the first song and some or all of the songs in the first historical playback record.

[0016] In this way, it can be further determined that the song played on the second electronic device was played by the user of the first electronic device by judging that the average difference between the first song and the songs in the first historical playback record is less than or equal to the second preset threshold.

[0017] In one possible implementation, the average difference between the first song and the songs in the first historical playback record is calculated as follows:

[0018]

[0019] in, Let N be the difference between the first song and the i-th song in the first historical playback record, and let N be the number of songs in the first historical playback record.

[0020] In one possible implementation, the server stores song category information, the The calculation method is as follows:

[0021] If the server confirms, based on the song category information, that the category of the first song is the same as the category of the i-th song in the first historical playback record, then... It is calculated using the following formula:

[0022]

[0023] in, Let N be the difference between the first song and the i-th song in the first playback history, and N be the number of songs in the first playback history. These are the tempo value, era value, and sadness / joy value of the first song, respectively. These are the tempo value, era value, and sadness / joy level value of the i-th song in the first historical playback record, respectively.

[0024] If the server confirms, based on the song category information, that the category of the first song is different from the category of the i-th song in the first historical playback record, then... This is a preset fixed value.

[0025] In one possible implementation, the first message includes information about the first song.

[0026] In this way, the first electronic device can display the first song in the historical playback record based on the information of the first song.

[0027] In one possible implementation, after the first electronic device displays the second historical playback record, the method further includes: the first electronic device displays a song recommendation list, the song recommendation list including one or more songs of the same category as the first song.

[0028] In this way, if it is confirmed that the song played by the second electronic device was instructed to be played by the user of the first electronic device, the song played by the second electronic device can be used as a data source for content recommendation to the user of the first electronic device.

[0029] In one possible implementation, before the first electronic device receives the first message sent by the server, the method further includes: the first electronic device detecting an operation by which a user binds the second electronic device; in response to the operation, the first electronic device obtaining device information of the second electronic device and sending the first account, the device information of the first electronic device, and the device information of the second electronic device to the server.

[0030] This allows the server to store the association between the first account and the device information of the first electronic device, as well as the device information of the second electronic device.

[0031] In one possible implementation, after the first electronic device detects the user's action of binding the second electronic device, the method further includes: if the first electronic device has location service permissions enabled, the first electronic device sends its own location information to the server.

[0032] In this way, the server can store the location information of the first electronic device when the first electronic device and the second electronic device establish a binding relationship, and use it as reference location information when subsequently determining whether the distance between the first electronic device and the second electronic device is less than or equal to the first preset threshold.

[0033] Secondly, this application provides a playback history display method applied to a communication system. The communication system includes a first electronic device, a second electronic device, and a server. Both the first electronic device and the second electronic device are associated with a first account. The method includes: the first electronic device displaying a first historical playback record, which is the historical playback record of the first account and does not include a first song; the second electronic device playing the first song; the second electronic device sending a second message to the server, which includes information about the first song; the first electronic device receiving the first message sent by the server; and the first electronic device displaying a second historical playback record based on the first message, which includes the first song, wherein the first song is a song played by the second electronic device when the distance between the first electronic device and the second electronic device is less than or equal to a first preset threshold.

[0034] In one possible implementation, the method further includes: the second electronic device playing a second song; the second electronic device sending a third message to the server, the third message including information about the second song; the first electronic device displaying a third historical playback record, the third historical playback record not including the second song, wherein the second song is a song played when the distance between the first electronic device and the second electronic device is greater than the first preset threshold.

[0035] In one possible implementation, before the first electronic device receives the first message sent by the server, the method further includes: the server determining whether the IP address of the first electronic device is the same as the IP address of the second electronic device; if they are the same, the server determines that the distance between the first electronic device and the second electronic device is less than or equal to the first preset threshold.

[0036] In one possible implementation, before the first electronic device receives the first message sent by the server, the method further includes: the server determining whether the first location information is the same as the first reference location information; if they are the same, the server determines that the distance between the first electronic device and the second electronic device is less than or equal to the first preset threshold; wherein, the first location information is the location information that the first electronic device periodically sends to the server, and the first reference location information is the location information that the first electronic device sends to the server when the second electronic device is associated with the first account.

[0037] In one possible implementation, before the first electronic device receives the first message sent by the server, the method further includes: the first electronic device detecting one or more electronic devices associated with the first account in the same network based on a short-range communication connection, and obtaining device information of the one or more electronic devices; the first electronic device sending a fourth message to the server, the fourth message including the device information of the one or more electronic devices; the server determining, based on the fourth message, that the distance between the first electronic device and the second electronic device is less than or equal to the first preset threshold, wherein the fourth message includes the device information of the second electronic device.

[0038] In one possible implementation, before the first electronic device receives the first message sent by the server, the method further includes: the second electronic device detecting one or more electronic devices associated with the first account in the same network based on a short-range communication connection, and obtaining device information of the one or more electronic devices; the second electronic device sending a fifth message to the server, the fifth message including the device information of the one or more electronic devices; the server determining, based on the fifth message, that the distance between the first electronic device and the second electronic device is less than or equal to the first preset threshold, wherein the fifth message includes the device information of the first electronic device.

[0039] In one possible implementation, the average difference between the first song and the songs in the first historical playback record is less than or equal to a second preset threshold, and the average difference is determined based on the difference between the first song and some or all of the songs in the first historical playback record.

[0040] In one possible implementation, the average difference between the first song and the songs in the first historical playback record is calculated as follows:

[0041]

[0042] in, Let N be the difference between the first song and the i-th song in the first historical playback record, and let N be the number of songs in the first historical playback record.

[0043] In one possible implementation, the server stores song category information, the The calculation method is as follows:

[0044] If the server confirms, based on the song category information, that the category of the first song is the same as the category of the i-th song in the first historical playback record, then... It is calculated using the following formula:

[0045]

[0046] in, Let N be the difference between the first song and the i-th song in the first playback history, and N be the number of songs in the first playback history. These are the tempo value, era value, and sadness / joy value of the first song, respectively. These are the tempo value, era value, and sadness / joy level value of the i-th song in the first historical playback record, respectively.

[0047] If the server confirms, based on the song category information, that the category of the first song is different from the category of the i-th song in the first historical playback record, then... This is a preset fixed value.

[0048] In one possible implementation, the first message includes information about the first song.

[0049] In one possible implementation, after the first electronic device displays the second historical playback record, the method further includes: the first electronic device displays a song recommendation list, the song recommendation list including one or more songs of the same category as the first song.

[0050] In one possible implementation, before the second electronic device plays the first song, the method further includes: the first electronic device detecting an operation by which a user binds the second electronic device; in response to the operation, the first electronic device obtains device information of the second electronic device and sends the first account, device information of the first electronic device, and device information of the second electronic device to the server;

[0051] The server stores the association between the first account and the device information of the first electronic device, and the device information of the second electronic device.

[0052] In one possible implementation, after the first electronic device detects the user's action of binding the second electronic device, the method further includes: if the first electronic device has location service permissions enabled, the first electronic device sends its own location information to the server.

[0053] Thirdly, embodiments of this application provide an electronic device including one or more processors and one or more memories; wherein the one or more memories are coupled to the one or more processors, and the one or more memories are used to store computer program code, the computer program code including computer instructions, which, when the one or more processors execute the computer instructions, cause the electronic device to perform the method described in any possible implementation of the first aspect above.

[0054] Fourthly, embodiments of this application provide a computer storage medium storing a computer program, the computer program including program instructions that, when executed on an electronic device, cause the electronic device to perform the method described in any possible implementation of the first aspect above.

[0055] Fifthly, embodiments of this application provide a computer program product that, when run on a computer, causes the computer to perform the method described in any possible implementation of the first aspect above. Attached Figure Description

[0056] Figure 1 This is a schematic diagram of the architecture of a communication system provided in an embodiment of this application;

[0057] Figure 2 This is a flowchart illustrating a playback history display method provided in an embodiment of this application;

[0058] Figures 3A-3F This is a set of user interface diagrams provided in the embodiments of this application, which are involved in the process of establishing a binding relationship between electronic device 100 and electronic device 200.

[0059] Figures 4A-4B This is a set of user interface diagrams provided in an embodiment of this application, prompting the user to enable location permissions;

[0060] Figure 5 This is a schematic diagram illustrating a scenario where a user requests a smart speaker to play a song via voice.

[0061] Figures 6A-6C This is a set of user interface diagrams showing song playback history and song recommendation list provided in the embodiments of this application;

[0062] Figure 7 This is a flowchart illustrating another playback record display method provided in an embodiment of this application;

[0063] Figure 8A This is a schematic diagram of a process provided in this application embodiment to determine whether the distance between electronic device 100 and electronic device 200 is less than or equal to a preset distance threshold using electronic device 200 (i.e., smart home device such as smart speaker);

[0064] Figure 8B This is a schematic diagram illustrating the process of an electronic device 200 playing songs according to an embodiment of this application;

[0065] Figure 8C This is a schematic diagram illustrating the process of playing songs using another electronic device 200 provided in this application embodiment;

[0066] Figure 9 This is a schematic diagram of a process provided in this application embodiment to determine whether the distance between electronic device 100 and electronic device 200 is less than or equal to a preset distance threshold using electronic device 100 (i.e., personal device such as mobile phone);

[0067] Figure 10 This is a schematic diagram illustrating a possible collaboration mode between the internal modules of the electronic device 100 and the server 300 involved in the execution of the playback record display method, provided in an embodiment of this application.

[0068] Figure 11 This is a schematic diagram of the structure of an electronic device 100 provided in an embodiment of this application;

[0069] Figure 12 This is a schematic diagram of the software architecture of an electronic device 100 provided in an embodiment of this application;

[0070] Figure 13 This is a schematic diagram of the structure of an electronic device 200 provided in an embodiment of this application;

[0071] Figure 14This is a schematic diagram of the structure of a server 300 provided in an embodiment of this application. Detailed Implementation

[0072] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. In the description of the embodiments of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B; "and / or" in the text is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Furthermore, in the description of the embodiments of this application, "multiple" refers to two or more than two.

[0073] It should be understood that the terms "first," "second," etc., in the specification, claims, and drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.

[0074] In this application, the reference to "embodiment" means that a specific feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a mutually exclusive, independent, or alternative embodiment. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described in this application can be combined with other embodiments.

[0075] The term "user interface (UI)" used in the following embodiments of this application refers to the medium interface through which an application or operating system interacts and exchanges information with a user. It realizes the conversion between the internal form of information and the form that the user can accept. The user interface is source code written in a specific computer language such as Java or Extensible Markup Language (XML). The interface source code is parsed and rendered on the electronic device, ultimately presenting content that the user can recognize. A common form of user interface is the graphical user interface (GUI), which refers to a user interface related to computer operation displayed graphically. It can be visible interface elements such as text, icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, and widgets displayed on the screen of an electronic device.

[0076] With the development of Internet of Things (IoT) technology, more and more smart home devices (also known as IoT devices) such as smart speakers and smart TVs are entering homes. These IoT devices can support user voice operation and have functions such as multimedia data playback (such as music data playback, video data playback, etc.).

[0077] To protect user rights, these IoT devices often require users to bind them to the same account on their personal devices (such as mobile phones) before they can use their services (such as music services). Typically, accounts and users are one-to-one, meaning different accounts correspond to different users. In this context, taking music playback as an example, if a user requests an IoT device (such as a smart speaker) to play music via voice, the IoT device will retrieve the requested music from its corresponding music server and play it. However, the music server cannot distinguish whether the request was initiated by the user of the personal device (i.e., the account owner or device owner) or by another family member of that user, and therefore cannot distinguish whether the playback data was generated by the user of the personal device or another family member of that user.

[0078] Because music servers need to recommend content to users on personal devices based on users' historical playback data, they typically handle the data from users' voice commands to play content on IoT devices in two ways: One approach is to discard this data, meaning the music server doesn't use it as a data source for content recommendations. This reduces the data sources for content recommendations if the data is generated by the user, thus lowering the accuracy of recommendations. The other approach is to directly save this data into the user's historical playback data records. This means this data can also be used as part of the data source for subsequent content recommendations. However, if this data isn't generated by the user, the user-generated historical playback data will be contaminated, further reducing the accuracy of recommendations, resulting in poor recommendation performance and a poor user experience.

[0079] Currently, a common method to solve the above problem is to use voiceprint recognition technology to determine whether the user currently using the IoT device is the user of a personal device that is bound to the same account as the IoT device.

[0080] Specifically, during the process of binding an IoT device to a user account, the IoT device prompts the user to input voice information, records this voice information, and then extracts and stores the voiceprint features from the voice information. After the account binding is completed, taking music playback as an example, if the IoT device receives a user's voice request to play music, it can extract the voiceprint features from the voice request and match these features with pre-stored voiceprint features to determine whether the user initiating the voice request is the user corresponding to the bound account (i.e., the account owner). If the match is successful, the IoT device determines that the user initiating the voice request is the account owner; if the match fails, the IoT device determines that the user initiating the voice request is not the account owner. Furthermore, the IoT device can obtain the music resource requested by the user from its corresponding music server and play it. Simultaneously, it can also send an indication message to its corresponding music server, indicating whether the user initiating the voice request is the account owner. Furthermore, after receiving the aforementioned instruction information, the music server can determine whether the user initiating the voice request is the account owner. If so, the music server can save the music data requested by the user to the account owner's historical playback data record, which can then be used as a data source for subsequent content recommendations.

[0081] However, voiceprint recognition requires a certain level of computing power from the processor. Some IoT devices (such as smart speakers) have relatively weak central processing units (CPUs) that cannot perform real-time voiceprint calculation and feature comparison. Therefore, few IoT devices possess voiceprint recognition capabilities. For these IoT devices that lack voiceprint recognition capabilities, the server cannot distinguish whether the data played by the IoT device is generated by the user of the personal device or by other family members of that user.

[0082] Based on this, this application provides a playback history display method. An IoT device can be bound to the same account as a user's personal device. After the IoT device receives a voice request from the user to play multimedia data (e.g., music data), it can obtain the requested multimedia data from the server and play it. Simultaneously, the server can determine whether the distance between the personal device and the IoT device is less than or equal to a preset distance threshold. If so, the server can further calculate the user's preference for the requested multimedia data based on pre-saved historical playback data records of the bound account. If the preference is high, the server can determine that the user initiating the voice request is the owner of the bound account. Compared to the aforementioned voiceprint recognition, this method is simpler and requires less hardware computing power. Furthermore, if it is determined that the user initiating the voice request is the owner of the bound account, the server can save the requested multimedia data to the historical playback data records of the bound account as a data source for subsequent content recommendations. This improves the accuracy of content recommendations and enhances the user experience.

[0083] The following describes a communication system provided by an embodiment of this application.

[0084] Figure 1 An exemplary embodiment of the communication system provided in this application is shown.

[0085] like Figure 1 As shown, the communication system may include personal devices (i.e., electronic devices 100), smart home devices (i.e., electronic devices 200, also known as IoT devices), and servers 300.

[0086] Personal devices (i.e., electronic devices 100) can refer to smart terminal devices used by a user, such as mobile phones, tablets, and laptops. This application embodiment does not limit the specific type of personal device. It is easy to understand that personal devices are typically electronic devices that are convenient for a user to carry with them; therefore, the location information of a personal device can also represent the user's location information.

[0087] Smart home devices (i.e., electronic devices 200) can refer to smart terminal devices that can be used by the user and other family members, such as smart speakers and smart screens. They can receive voice commands from the user and execute corresponding functions based on those commands. Compared to personal devices, smart home devices are usually non-portable devices, not typically carried by the user or moved around freely. Therefore, the location information of smart home devices can be considered fixed.

[0088] In this communication system, personal devices and smart home devices can connect by logging into the same account. For example, personal devices and smart home devices can log into the same Huawei account and remotely connect and communicate through a server. The account can be a mobile phone number, email address, a custom username, a username assigned by an application (APP) server, or a username used to log in to an APP on the electronic device, etc.

[0089] Personal devices and smart home devices in this communication system can also establish connections by scanning QR codes, tapping with near field communication (NFC), searching for Bluetooth devices, etc. This application embodiment does not limit this.

[0090] In general, the communication connections established between personal devices and smart home devices in this communication system can include, but are not limited to: wired connections, wireless connections such as Bluetooth (BT) connections, wireless local area networks (WLAN) such as wireless fidelity point-to-point (Wi-Fi P2P) connections, wireless fidelity (Wi-Fi) connections, near field communication (NFC) connections, infrared (IR) connections, and remote connections (such as connections established through a server), etc.

[0091] Furthermore, personal devices and smart home devices in this communication system can also connect and communicate using any of the above methods, and this application embodiment does not limit this.

[0092] Personal devices and smart home devices in this communication system can be configured with the same or different operating systems (OS), including but not limited to Android®, Windows®, Harmony®, etc. Harmony® refers to Huawei's HarmonyOS operating system.

[0093] Personal devices and smart home devices in this communication system can establish communication connections with server 300 via wired or wireless networks, thereby enabling data interaction based on these communication connections.

[0094] Server 300 can be a traditional server or a cloud server; this application embodiment does not limit this.

[0095] In this embodiment, server 300 can be used to provide multimedia data playback resources (such as music data playback resources, video data playback resources, etc.) to smart terminal devices (such as electronic devices 100 and 200); it can also be used to manage account login and devices, for example, to save the information of registered and logged-in accounts and the device information of all smart terminal devices associated with the account information; it can also save the location information and Internet Protocol (IP) address information of the user corresponding to the logged-in account; it can also save the multimedia data historical playback records of the user corresponding to the logged-in account, and calculate the user's preferred content types based on the historical playback records, and recommend relevant types of content to the user, etc.

[0096] In this embodiment of the application, both electronic device 100 and electronic device 200 have multimedia data playback functions (such as music playback function, video playback function, etc.). Electronic device 100 and electronic device 200 can log in to the same account and use the same account to access server 300, obtain multimedia data playback resources from server 300, report location information to server 300, etc.

[0097] The following describes a playback history display method provided by an embodiment of this application.

[0098] Figure 2 The specific flow of a playback record display method provided in an embodiment of this application is illustrated by way of example.

[0099] like Figure 2 As shown, this method can be applied to a communication system including electronic device 100, electronic device 200, and server 300. In this embodiment, music data is used as an example for illustration. Electronic device 100 can be a mobile phone, electronic device 200 can be a smart speaker, and server 300 can be a music server. Electronic device 100 can have a music app and an AI speaker app installed. Both the music app and the AI ​​speaker app are logged into the same account (e.g., a Huawei account). The music app is used for music playback and can be a system application or a third-party application. The AI ​​speaker app is used to manage the smart speaker connected to electronic device 100, play music on electronic device 100, etc. The music data playback resources for both electronic device 100 and electronic device 200 are obtained from server 300. The specific steps of this method are described in detail below:

[0100] Phase 1: Establishing a binding relationship between electronic device 100 and electronic device 200

[0101] S201-S203, electronic device 100 detects the user's login operation of account 1 on the music APP. After the user logs in with account 1 on the music APP, electronic device 100 sends account 1, music APP information, etc. to server 300. Server 300 can save the association relationship between the above-mentioned account 1 and music APP information.

[0102] Among them, account 1 can be the system account of electronic device 100 (such as Huawei account), and the information of the music APP can include, but is not limited to, the identifier of the music APP.

[0103] The association between account 1 and music app information stored on server 300 can be illustrated in Table 1 below.

[0104]

[0105] Table 1

[0106] In some embodiments, the electronic device 100 may also send device information 1 of the electronic device 100 to the server 300, and the server 300 may also save the association between account 1 and device information 1 of the electronic device 100.

[0107] The device information 1 of the electronic device 100 may include, but is not limited to, the device identifier, serial number, media access control address, device model, device name, etc. of the electronic device 100. This application embodiment does not limit this.

[0108] After a user logs in to account 1 on the music app, if the user plays music on the music app (e.g., plays song 1, song 2, etc.), since the music data playback resources of the music played by the user are all obtained from server 300, as shown in Table 2 below, server 300 can also save the music records (i.e., historical playback records) played by the user under account 1 on the music app.

[0109]

[0110] Table 2

[0111] It should be noted that in step S201 above, the user's operation of logging into account 1 on the music APP can refer to the operation of entering account 1 and its password when logging into the music APP for the first time; it can also refer to the operation of the user opening the music APP after logging into the system account of the electronic device 100, and the music APP defaulting to logging into the system account of the electronic device 100; it can also refer to the operation of the user logging into the music APP for the first time, exiting the music APP, and then opening the music APP again to log into the account. This application embodiment does not limit this.

[0112] S204-S207: After the user logs in to account 1 on the AI ​​speaker APP of electronic device 100, electronic device 100 detects the user's binding operation to electronic device 200. In response to this binding operation, electronic device 100 can obtain device information 2 of electronic device 200 and send information such as account 1 and device information 2 of electronic device 200 to server 300. Server 300 can save the above association relationship between account 1 and device information 2 of electronic device 200.

[0113] Among them, the aforementioned account 1 can be the system account of the electronic device 100 (such as a Huawei account), and the aforementioned device information 2 of the electronic device 200 can include, but is not limited to, the device identifier, serial number, media access control address, device model, device name, etc. of the electronic device 200. This application embodiment does not limit this.

[0114] Among them, electronic device 100 can scan the Bluetooth broadcast signal emitted by electronic device 200 through the Bluetooth scanning function, and obtain the device information 2 of electronic device 200 from the Bluetooth broadcast signal emitted by electronic device 200.

[0115] The association between account 1 stored on server 300 and device information 2 of electronic device 200 can be exemplarily shown in Table 3 below.

[0116]

[0117] Table 3

[0118] It should be noted that the embodiments of this application do not limit the time order of executing steps S201-S203 and steps S204-S207. For example, steps S204-S207 may also be executed before the electronic device 100 executes steps S201-S203.

[0119] In some embodiments, since the electronic device 100 has logged into account 1 on the AI ​​speaker APP, in addition to sending account 1 and device information 2 of electronic device 200 to the server 300, the electronic device 100 can also send device information 1 of electronic device 100 to the server 300. Thus, as shown in Table 4 below, the server 300 can save the association between account 1 and device information 2 of electronic device 200, and the association between account 1 and device information 1 of electronic device 100.

[0120]

[0121] Table 4

[0122] If the server 300 has already saved the association between account 1 and device information 1 of electronic device 100, for example, if the server 300 has already saved the association between account 1 and device information 1 of electronic device 100 in the aforementioned step S203, then it does not need to save it again this time.

[0123] It should be noted that in step S204 above, the user's operation of logging into account 1 on the AI ​​speaker APP can refer to the operation of entering account 1 and its password when the user logs into the AI ​​speaker APP for the first time; it can also refer to the operation of the user opening the AI ​​speaker APP after logging into the system account of the electronic device 100, and the music APP defaulting to logging into the system account of the electronic device 100; it can also refer to the operation of the user logging into the AI ​​speaker APP for the first time, exiting the AI ​​speaker APP, and then opening the AI ​​speaker APP again to log into the account. This application embodiment does not limit this.

[0124] The following is combined Figures 3A-3F The following is an exemplary user interface illustrating the process of establishing a binding relationship between electronic device 100 and electronic device 200.

[0125] like Figure 3A As shown, the electronic device 100 can display a main screen interface 310. This interface 310 may include an application icon display area 311, a status bar display area 312, and a navigation bar display area 313. Wherein:

[0126] The application icon display area 311 may include icons for, for example, reading, camera, browser, gallery, music, AI speaker, etc., and may also include icons for other applications; this embodiment does not limit this. The icon of any application can be used in response to a user's action, such as a click, causing the electronic device 100 to launch the application corresponding to the icon.

[0127] The status bar display area 312 may include the time, Wi-Fi icon, signal strength, current remaining battery power, Bluetooth icon, etc.

[0128] The navigation bar display area 313 may include system navigation keys such as a back button 3131, a home screen button 3132, and a task history call button 3133.

[0129] Electronic device 100 can detect user actions (such as clicking) on ​​the AI ​​speaker application icon 3111, and in response to this action, electronic device 100 can display... Figure 3B The exemplary user interface 320 may include an account indicator 321, a prompt 322, and an option 323, etc.

[0130] Account indicator 321 indicates the account used to log in to the AI ​​speaker application. For example, login account 1 is "136****1672". This account 1 can be the system account of electronic device 100 (such as a Huawei account). If other applications (such as music applications) are already logged in to account 1 on electronic device 100, electronic device 100 can log in to account 1 by default in the AI ​​speaker application.

[0131] Prompt 322 can prompt the user for the operation that needs to be performed on electronic device 200, for example, Figure 3B The example prompt reads, "Press and hold the speaker mute button until the orange light flashes to complete network preparation."

[0132] Option 323 could include a message such as "The orange light is flashing, start connecting to the network."

[0133] Users can perform corresponding operations on the smart speaker (i.e., electronic device 200) by following the prompts 322 in the user interface 320, namely, by pressing and holding the mute button on the smart speaker until the orange light flashes. Afterwards, in response to the user's operation on option 323 (such as a click operation), electronic device 100 can scan electronic device 200.

[0134] For example, electronic device 100 can use the Bluetooth scanning function to scan. Specifically, electronic device 100 can scan the Bluetooth broadcast signal emitted by electronic device 200 using the Bluetooth scanning function. This Bluetooth broadcast signal may contain information including, but not limited to, the device identifier, serial number, media access control address, device model, and device name of electronic device 200. The media access control address included in the Bluetooth broadcast signal emitted by electronic device 200 can be used by electronic device 100 to subsequently send network information to electronic device 200. This network information may include the Wi-Fi name and corresponding password.

[0135] After scanning electronic device 200, electronic device 100 can display... Figure 3C The exemplary user interface 330 may include options corresponding to one or more speakers detected by the electronic device 100, such as option 331 corresponding to "smart speaker XXXX".

[0136] Assuming "smart speaker XXXX" is electronic device 200, further, electronic device 100 can detect the user's operation on option 331 (e.g., a click operation), and in response to this operation, electronic device 100 can display as follows: Figure 3D The exemplary user interface 340 may include a WLAN name input field 341, a WLAN password input field 342, options 343 and 344, etc.

[0137] The WLAN name input field 341 and the WLAN password input field 342 can be used to enter the Wi-Fi name (e.g., "Room 101") and the corresponding password, respectively. The Wi-Fi name can be the service set identifier (SSID) of the Wi-Fi hotspot.

[0138] In response to a user action on option 343 (such as a click), option 343 can be displayed as selected. Subsequently, when using the Wi-Fi named "Room 101," electronic device 100 can obtain the corresponding password without user input.

[0139] In response to a user action on option 344 (e.g., a click), electronic device 100 can send network connectivity information to electronic device 200. For example, electronic device 100 can send network connectivity information to electronic device 200 based on a media access control address included in a Bluetooth broadcast signal transmitted by electronic device 200. The network connectivity information may include, for example, the aforementioned Wi-Fi name and corresponding password. Electronic device 100 can connect to a Wi-Fi network named "Room 101," and electronic device 200 can also connect to a Wi-Fi network named "Room 101" based on the aforementioned network connectivity information.

[0140] After successfully connecting to the network, electronic device 100 can display as follows: Figure 3E The exemplary user interface 350 may include a network connection success message 351 and a completion option 352. The electronic device 100 can detect user interaction with the completion option 352, and in response to this interaction, the electronic device 100 displays... Figure 3F The exemplary user interface 360 ​​supports users in using multiple functions provided by the AI ​​speaker application.

[0141] At this point, electronic device 100 and electronic device 200 have successfully established a binding relationship, and both electronic device 100 and electronic device 200 are associated with the same account (i.e., the aforementioned account 1).

[0142] After the binding relationship is established, electronic device 100 can save the association between account 1 and device information 2 of electronic device 200 and send it to server 300.

[0143] In some embodiments, electronic device 100 may also send the association relationship between account 1 and device information 2 of electronic device 200 to electronic device 200, and electronic device 200 may save it. In this case, the association relationship between account 1 and device information 2 of electronic device 200 may also be sent by electronic device 200 to server 300.

[0144] It should be noted that this application embodiment does not limit the timing of when electronic device 100 or electronic device 200 sends the association relationship between account 1 and device information 2 of electronic device 200 to server 300. In one possible implementation, electronic device 100 can detect when a user has sent the association relationship between account 1 and device information 2 of electronic device 200. Figure 3C Following the operation of option 331, the association between account 1 and device information 2 of electronic device 200 is sent to server 300. In another possible implementation, electronic device 100 can also detect user activity related to... Figure 3E After the operation of option 352 shown, the association between the account 1 and the device information 2 of the electronic device 200 will be sent to the server 300.

[0145] S208-S209, Electronic device 100 sends location information 1 of electronic device 100 to server 300. After receiving the location information 1 of electronic device 100, server 300 can save the location information 1 of electronic device 100.

[0146] The location information 1 of the aforementioned electronic device 100 refers to the location information of the electronic device 100 when it establishes a binding relationship with the electronic device 200. Since the distance between the electronic device 100 and the electronic device 200 needs to be less than or equal to a preset distance threshold during the binding process, meaning the electronic device 100 needs to be near / beside the electronic device 200, and since the electronic device 200 is a non-portable device and the user generally does not move its location, the location information 1 of the aforementioned electronic device 100 can be used to indicate that the electronic device 100 is near / beside the electronic device 200.

[0147] It is easy to understand that since the location information 1 of the above-mentioned electronic device 100 can only be obtained if the user allows the electronic device 100 to enable location service permission, steps S208-S209 can only be executed if the user allows the electronic device 100 to enable location service permission.

[0148] For example, such as Figure 4AAs shown, the electronic device 100 can display window 410 to prompt the user to enable location service permissions. If the user's action of granting location service permissions is detected (e.g., clicking option 412), the electronic device 100 can obtain its location information 1 through location services and send it to the server 300. If the user's action of denying location service permissions is detected (e.g., clicking option 411), the electronic device 100 cannot obtain its location information 1, and therefore, steps S208-S209 will not be executed.

[0149] It should be noted that the timing of executing steps S208-S209 is not limited in the embodiments of this application. It can be executed during the process of establishing a binding relationship between electronic device 100 and electronic device 200, or it can be executed when electronic device 100 and electronic device 200 have completed establishing a binding relationship.

[0150] Phase Two: Music Playback Information Calculation Phase

[0151] S210-S211, Electronic device 100 sends location information 2 of electronic device 100 to server 300. After receiving the location information 2 of electronic device 100, server 300 can save the location information 2 of electronic device 100.

[0152] Specifically, after electronic devices 100 and 200 are both bound to the same account (e.g., the aforementioned account 1), electronic device 100 can periodically (i.e., every certain period of time, such as every 0.5 minutes, 1 minute, 2 minutes, etc.) obtain its own location information and send the location information acquisition result to server 300 so that server 300 can subsequently determine whether electronic device 100 is near electronic device 200.

[0153] In one possible implementation, the user grants the electronic device 100 permission to enable location services (e.g., the user clicks on a button). Figure 4A Option 412 or the user clicked Figure 4BIn the case of option 422 on window 420, the music APP or AI speaker APP of electronic device 100 can obtain the location information of electronic device 100 every certain period of time (e.g., every 0.5 minutes, 1 minute, 2 minutes, etc.) through location service. After successfully obtaining the location information of electronic device 100, it can send a location information acquisition success indication message to server 300. The indication message carries the location information of electronic device 100 obtained this time (e.g., location information 2 of electronic device 100). After receiving the indication message, server 300 can obtain the location information of electronic device 100 from the indication message and save the location information.

[0154] In another possible implementation, the user disables the electronic device's location service permissions (e.g., the user clicks on a button). Figure 4A Option 411 or the user clicked Figure 4B In the case of option 421), if electronic device 100 cannot obtain its own location information, electronic device 100 can send a location information acquisition failure indication message to server 300 every certain period of time (e.g., every 0.5 minutes, 1 minute, 2 minutes, etc.). The indication message may carry the IP address of electronic device 100. After receiving the indication message, server 300 can obtain the IP address of electronic device 100 from the indication information and save the IP address.

[0155] In another possible implementation, if the user allows the electronic device 100 to enable location service permissions but fails to obtain its own location information for some reason, the electronic device 100 can also send a location information acquisition failure indication message to the server 300. This indication message may carry the IP address of the electronic device 100, etc. After receiving the indication message, the server 300 can obtain the IP address of the electronic device 100 from the indication information and save the IP address.

[0156] It should be noted that after electronic devices 100 and 200 are both bound to the same account (e.g., account 1 mentioned above), for the location information or IP address of electronic device 100 periodically obtained by server 300, server 300 may only save the location information or IP address of electronic device 100 obtained most recently (i.e., after server 300 obtains and saves the location information or IP address of electronic device 100 most recently, it will delete the previously saved location information or IP address); server 300 may also save the location information or IP address of electronic device 100 within a certain period of time (e.g., one day, one month, etc.) and mark the time information to distinguish when each piece of location information or each IP address was obtained by server 300.

[0157] S212-S215, electronic device 200 receives the user's instruction to play song A. Then, electronic device 200 can send a request to server 300 to obtain playback resources for song A. The request carries device information 2 of electronic device 200, IP address of electronic device 200, etc. After receiving the above request, server 300 can send playback resources for song A to electronic device 200. After receiving the playback resources for song A, electronic device 200 can play song A based on the playback resources.

[0158] For example, the above-mentioned user instruction to play song A can be: Figure 5 The user-initiated voice command shown is "Xiaoyi Xiaoyi, play song A".

[0159] In some embodiments, after receiving a request from electronic device 200 to obtain playback resources for song A, server 300 can obtain the IP address of electronic device 200 from the request and save it so that in the event that server 300 cannot obtain the location information of electronic device 100, it can determine whether electronic device 100 is near electronic device 200 based on the IP address of electronic device 200 and the IP address of electronic device 100.

[0160] The request to obtain playback resources for song A may also include information about song A (such as the name of song A, etc.) so that server 300 can find playback resources for song A based on the information about song A.

[0161] S216. Server 300 determines whether the distance between electronic device 100 and electronic device 200 is less than or equal to a preset distance threshold.

[0162] Specifically, after receiving the request from the electronic device 200 to obtain the playback resource of song A, the server 300 can determine whether the distance between the electronic device 100 and the electronic device 200 is less than or equal to a preset distance threshold based on the most recently saved location information or IP address of the electronic device 100. If so, the server 300 will continue to execute the subsequent steps; otherwise, the server 300 will not execute the subsequent steps.

[0163] The possible implementation methods for server 300 to determine whether the distance between electronic device 100 and electronic device 200 is less than or equal to a preset distance threshold may include, but are not limited to, the following two:

[0164] Possible implementation method 1: Server 300 determines whether the distance between electronic device 100 and electronic device 200 is less than or equal to a preset distance threshold based on the location information periodically reported by electronic device 100 and the location information when binding the account.

[0165] For example, assuming that the server 300 most recently saved the location information of the electronic device 100 (i.e., the server 300 successfully obtained the location information reported by the electronic device 100 most recently), such as the location information 2 of the electronic device 100, and if the server 300 also saves the location information 1 of the electronic device 100 sent by the electronic device 100 during the aforementioned account binding process (i.e., the location information when binding the account), the server 300 can determine whether the location information 2 of the electronic device 100 is the same as the location information 1 of the electronic device 100.

[0166] If they are the same, since electronic device 200 is a non-portable device and users generally do not move its location, it can be assumed that the location of electronic device 200 remains unchanged before and after binding the account. Thus, server 300 can determine that the distance between electronic device 100 and electronic device 200 is less than or equal to a preset distance threshold, that is, server 300 can determine that electronic device 100 is near electronic device 200. Furthermore, since electronic device 100 is a portable device and users usually carry it with them, server 300 can also determine that the user of electronic device 100 (i.e., the account owner of account 1 mentioned above) is near electronic device 200.

[0167] If they are different, then server 300 can determine that the user of electronic device 100 is not near electronic device 200. Therefore, the instruction to play song A received by electronic device 200 is not initiated by the user of electronic device 100. Thus, server 300 can determine that song A was not requested to be played by the user of electronic device 100, but may have been requested to be played by another family member of the user of electronic device 100. Therefore, server 300 will not save the playback information of song A to the user's playback history of electronic device 100. Furthermore, server 300 will not use song A as a data source for subsequent content recommendations to the user of electronic device 100.

[0168] In this embodiment of the application, the location information of the electronic device 100 (e.g., location information 1 of the electronic device 100, or location information 2 of the electronic device 100) can be obtained through the application programming interface (API) provided by the location service module built into the electronic device 100. The location information of the electronic device 100 can be GPS location information or base station location information. This embodiment of the application does not limit this.

[0169] In this embodiment of the application, determining whether the location information 1 and location information 2 of the electronic device 100 are the same can be done by using the latitude and longitude information included in the location information. For example, if the integer part and the last four decimal places of the latitude and longitude values ​​in location information 1 are the same as the integer part and the last four decimal places of the latitude and longitude values ​​in location information 2, then location information 1 and location information 2 are considered to be the same; otherwise, location information 1 and location information 2 are considered to be different.

[0170] In some embodiments, considering the different requirements for location accuracy, the number of decimal places in the latitude and longitude values ​​can also be different. If higher accuracy is required, more decimal places can be used. For example, if the last five (or the last six, the last seven, etc.) decimal places are the same, then location information 1 and location information 2 are considered to be the same. If lower accuracy is required, fewer decimal places can be used. For example, if the last three (or the last two, the last one, etc.) decimal places are the same, then location information 1 and location information 2 are considered to be the same. This application embodiment does not limit this.

[0171] Possible implementation method 2: Server 300 determines whether electronic device 100 and electronic device 200 are in the same local area network based on the IP address of electronic device 100 and electronic device 200. If the IP addresses of electronic device 100 and electronic device 200 are the same, it can be considered that the distance between them is less than or equal to a preset distance threshold; if the IP addresses of electronic device 100 and electronic device 200 are different, it can be considered that the distance between them is greater than the preset distance threshold.

[0172] For example, if the server 300 fails to obtain the location information reported by the electronic device 100 most recently, and / or if the server 300 does not receive and save the location information 1 of the electronic device 100 sent by the electronic device 100 during the aforementioned account binding process (i.e., the location information when binding the account), the server 300 can determine whether the IP address of the electronic device 100 most recently saved is the same as the IP address of the electronic device 200 carried when the aforementioned electronic device 200 sends a request to the server 300 to obtain the playback resources of song A.

[0173] If they are the same, the server 300 can determine that the distance between electronic device 100 and electronic device 200 is less than or equal to a preset distance threshold, that is, electronic device 100 is near electronic device 200, or electronic device 100 and electronic device 200 are in the same location. Optionally, the server 300 can also save the current location information determined based on the IP address as the location information of electronic device 100 during the aforementioned account binding process.

[0174] If they are different, then server 300 can determine that the user of electronic device 100 is not near electronic device 200. Therefore, the instruction to play song A received by electronic device 200 is not initiated by the user of electronic device 100. Thus, server 300 can determine that song A was not requested to be played by the user of electronic device 100, but may have been requested to be played by another family member of the user of electronic device 100. Therefore, server 300 will not save the playback information of song A to the user's playback history of electronic device 100. Furthermore, server 300 will not use song A as a data source for subsequent content recommendations to the user of electronic device 100.

[0175] It should be noted that the embodiments of this application do not limit the time order of execution steps S216 and S214-S215.

[0176] S217. Server 300 calculates the user's preference for song A based on the historical playback records of electronic device 100. If the user has a high preference for song A, then song A is marked as a playback record of electronic device 100, and songs of the same type as song A are matched.

[0177] It is easy to understand that even if server 300 determines that electronic device 100 is near electronic device 200, it cannot be certain that the instruction to play song A was initiated by the user of electronic device 100. It could also be initiated by other family members of the user of electronic device 100. Therefore, to further determine whether the instruction to play song A was initiated by the user of electronic device 100, server 300 can calculate the user's preference for song A based on the pre-saved historical playback records of electronic device 100 (such as the historical playback records of electronic device 100 on the music APP shown in Table 2 above). If the user's preference for song A is high, it can be determined that the instruction to play song A was initiated by the user of electronic device 100 (that is, song A was requested by the user of electronic device 100 to be played by electronic device 200). Furthermore, server 300 can mark song A as a playback record of electronic device 100, that is, server 300 can save song A to the historical playback records of electronic device 100 and can use song A as a data source for subsequent content recommendations to the user of electronic device 100, matching songs of the same type as song A.

[0178] The following describes one possible implementation of server 300 calculating a user's preference for song A:

[0179] First, server 300 will pre-classify and label all songs on server 300. Each song can correspond to two labels: a dimension label D and a group label G. Wherein:

[0180] The dimension label D can be a label calculated by server 300 based on one or more different dimensions of information such as the tempo, era, sadness / joy level, timbre characteristics (e.g., male voice, female voice, children's voice, etc.), and singing style (e.g., chorus, duet, solo).

[0181] The group label G can be a label obtained by the server 300 after grouping the song based on its genre. Songs can usually be divided into multiple genres, such as rock, pop, rap, children's songs, etc. The server 300 can group these multiple genres of songs. For example, it can group rock, pop, and rap songs into one group, and children's songs into another group; or it can group rock and rap songs into one group, pop songs into another group, and children's songs into another group; and so on. This application embodiment does not limit the method of grouping songs.

[0182] For example, when the dimension label D is a three-dimensional label calculated based on three different dimensions of the song: tempo, era, and level of sadness / happiness, the dimension label D of each song can be represented as D=[x, y, z], where x, y, and z can all be positive integers. x can represent the tempo of the song, y can represent the era of the song, and z can represent the level of sadness / happiness of the song. Assuming that the value of x is in the range of [1,10], then 1 can represent the slowest tempo, and 10 can represent the fastest tempo; assuming that the value of y is in the range of [1,8], then 1 can represent the earliest era (e.g., the 1950s), and 8 can represent the latest era (e.g., the 1920s); assuming that the value of z is in the range of [1,10], then 1 can represent the highest level of happiness (or the highest level of sadness), and 10 can represent the lowest level of happiness (or the lowest level of sadness).

[0183] For example, the group label G for each song can be represented as G={group Id}, where group Id is the identifier for each group, which can be represented by numbers, text, graphics, etc. This application embodiment does not limit this, as long as it can distinguish different groups. For instance, server 300 can divide all songs into two groups, such as rock, pop, and rap in one group, and children's songs in another. Then, the group Id for the rock, pop, and rap group can be adult, and the group Id for the children's songs group can be child. According to this labeling rule, it is easy to understand that if a song is a rock / pop / rap song, its group label G={adult}; if a song is a children's song, its group label D={child}.

[0184] Then, based on the aforementioned dimension label D and group label G, the following describes how server 300 calculates the difference D between song A and songs in the historical playback records of electronic device 100. i One possible implementation:

[0185] First, server 100 can obtain all or part of the pre-saved historical playback records of electronic device 100, such as historical playback records over a recent period (e.g., one month, two months, etc.), and calculate the difference D between song A and each song in all or part of the historical playback records. i .

[0186] For example, if song A shares the same group label G as a song in the playback history, then the difference D between song A and that song is... i The calculation can be performed based on the dimension label D of these two songs:

[0187] Assume the dimension labels D of these two songs are respectively and The difference between these two songs is D. i The following formula 1 can be used for calculation:

[0188] ………Formula 1

[0189] It is easy to see from Formula 1 above that the difference D between the two songs i The larger the value, the greater the difference between the two songs and the smaller the similarity.

[0190] For example, if song A has a different group label G from a song in the playback history, then the difference D between song A and that song is... i It can be a pre-set fixed value, for example, the fixed value D can be set. i It is 100.

[0191] It's easy to understand that when two songs have different group labels G, the difference between the two songs is D. i It must be very large; therefore, the pre-set difference D mentioned above... i The fixed value can be a large value, which can be much larger than the difference D calculated using Formula 1 above when the two songs have the same group label D. i The maximum value, for example, the difference D calculated using Formula 1 above when the two songs have the same group label D. i The maximum value is 10, then the pre-set difference degree D is... i The fixed value can be 100.

[0192] Finally, the server 200 introduces the difference D between song A and each song in the historical playback records of electronic device 100. i One possible way to calculate a user's preference for song A:

[0193] For example, server 300 calculates the difference D between song A and every song in the historical playback record of electronic device 100. i Then, these calculated differences D can be used... i Sort D from smallest to largest, and take all or part of it. i Come (e.g., the top 20% of D) i The distance value Dist can be calculated using the following formula:

[0194] .........Formula 2

[0195] Where N is the total number of all songs in the historical playback record (or the total number of a portion of the songs in the historical playback record). The smaller the distance value Dist (also known as the average difference between song A and the songs in the historical playback record), the smaller the difference between song A and the songs in the historical playback record, and the greater the similarity, indicating that the user has a higher preference for song A.

[0196] Furthermore, server 300 can also pre-set a preference threshold. Assuming the preset preference threshold is T, if the calculated distance value Dist <= T, it can be said that the user has a high preference for song A, and it can be further determined that song A is requested by the user of electronic device 100 to be played by electronic device 200.

[0197] The following example illustrates a scenario where a user has a high preference for song A:

[0198] Assume song A has a dimension label D1=[1,1,2] and a group label G1={adult}. Server 300 has pre-stored 5 songs in the historical playback records of electronic devices 100. These 5 songs all have a dimension label D of D2=[1,1,5] and a group label G of G2={adult}. The preset preference threshold T=10. Since group labels G1 and G2 are the same, the difference D... i The difference D between song A and these 5 songs can be easily calculated using Formula 1 above. i Both are 3, and further, the difference D i Sort by size from smallest to largest, and take the top 20% of the differences (D). iAccording to Formula 2 above, Dist is calculated. It is easy to find that Dist=3. Since 3 is less than the preset preference threshold of 10, it can be determined that song A is requested to be played by the user of electronic device 100.

[0199] After determining that song A was requested by the user of electronic device 100 to be played by electronic device 200, server 300 can mark song A as a playback record of electronic device 100. That is, server 300 can save song A to the historical playback record of electronic device 100 and can use song A as a data source for subsequent content recommendations to users of electronic device 100, matching songs of the same type as song A.

[0200] S218, Server 300 sends playback information for song A and a song of the same type as song A to electronic device 100.

[0201] The playback information for song A may include, but is not limited to, the name of song A and the name of the singer; there may be one or more songs of the same type as song A.

[0202] In some embodiments, the server 300 may also send the historical playback records of the electronic device 100 and the playback information of song A, along with other songs of the same type as song A, to the electronic device 100.

[0203] It should be noted that step S218 can be executed by the server 300 after step S217, or it can be executed by the electronic device 100 after sending a request to the server 300 when the electronic device 100 needs to display the song playback history and song recommendation list. This application embodiment does not limit this.

[0204] S219, Electronic device 100 displays song playback history and song recommendation list, wherein the song playback history includes song A, and the song recommendation list includes songs of the same type as song A.

[0205] For example, before the electronic device 200 plays song A, such as Figure 6A As shown, the user interface displayed by the electronic device 100 can be the recently played interface of a music app. It can be seen that the recently played song record (i.e., playback history) of the electronic device 100 includes two songs: Song 1 and Song 2, both of which are rock songs. The song recommendation list displayed by the electronic device 100 (i.e.,...) Figure 6A Song 3 is included in the “Songs You May Be Interested In” section. Song 3 is also a rock song, the same type of song as the songs in the recently played song record.

[0206] Assuming song A is also a rock song, for example, after electronic device 200 plays song A, such as Figure 6B As shown, the user interface displayed on the electronic device 100 can be the recently played screen of a music app. It can be seen that... Figure 6A The difference is that song A has been added to the recently played song history of electronic device 100, and the song recommendation list displayed by electronic device 100 (i.e. Figure 6B A new song 4 has been added to the “Songs You May Be Interested In” section. This song 4 is also a rock song, the same type as song A.

[0207] By implementing Figure 2 The method provided in the illustrated embodiment can relatively easily and accurately identify whether the user requesting electronic device 200 (i.e., a smart home device such as a smart speaker) to play song A is also a user of electronic device 100 (i.e., a personal device such as a mobile phone). If so, song A can be saved to the playback history of electronic device 100 and used as a data source for subsequent content recommendations to users of electronic device 100. This improves the accuracy of content recommendations and enhances the user experience. Furthermore, electronic devices 100 and 200 do not require additional functionality; only server 300 needs to be upgraded, resulting in low development costs.

[0208] Continue reading Figure 2 It can be seen that Figure 2 Steps S217-S219 in the illustrated embodiment describe the case where the user has a high preference for song A, i.e., the user requesting electronic device 200 (i.e., a smart home device such as a smart speaker) to play song A is the user of electronic device 100 (i.e., a personal device such as a mobile phone). For the case where the user has a low preference for song A, i.e., the user requesting electronic device 200 (i.e., a smart home device such as a smart speaker) to play song A is not the user of electronic device 100 (i.e., a personal device such as a mobile phone), but may be another family member of the user of electronic device 100, the following will be discussed in conjunction with... Figure 7 Let me explain.

[0209] like Figure 7 As shown, steps S701-S716 are all the same as those described above. Figure 2 Steps S201-S216 in the illustrated embodiment are the same; the specific execution process of steps S701-S716 can be referred to the foregoing. Figure 2 The relevant content in the illustrated embodiment will not be repeated here. Only steps S717-S718 are the same as those described above. Figure 2 Steps S217-S219 in the illustrated embodiment are different.

[0210] The following is a detailed introduction. Figure 7 The specific execution process of steps S717-S718 is as follows:

[0211] S717, Server 300 calculates the user's preference for song A based on the historical playback records of electronic device 100. If the user's preference for song A is low, then song A will not be marked as a playback record of electronic device 100.

[0212] The process by which server 300 calculates the user's preference for song A can be referred to the aforementioned process. Figure 2 The relevant content in step S217 of the illustrated embodiment will not be repeated here.

[0213] The following example illustrates a scenario where a user has a low preference for song A:

[0214] Assume song A has dimension label D3=[1,1,2] and group label G3={child}. Server 300 has pre-stored 5 songs in the historical playback records of electronic devices 100. These 5 songs all have dimension label D of D4=[1,1,5] and group label G of G4={adult}. The preset preference threshold T=10, and a pre-set fixed value D... i The value is 100. Since the group labels G3 and G4 are different, the difference D is... i Instead of calculating according to Formula 1 above, it is a pre-set fixed value D. i Therefore, the difference between song A and these 5 songs is D. i Both can be preset to a fixed value of 100. Furthermore, the difference D... i Sort by size from smallest to largest, and take the top 20% of the differences (D). i According to Formula 2 above, Dist is calculated. It is easy to calculate that Dist=100. Since 100 is greater than the preset preference threshold of 10, it can be determined that song A was not requested to be played by electronic device 200 by the user of electronic device 100, but may have been requested to be played by other family members of the user of electronic device 100.

[0215] In some embodiments, if the group label G1 of song A is different from the group label G2 of every song in the historical playback record, the server 300 can directly determine that song A is not requested for playback by the user of the electronic device 100, without needing to perform subsequent difference determination D. i After calculating with Dist, it is determined that song A was not requested to be played by the user of electronic device 100.

[0216] After determining that song A was not requested to be played by electronic device 200 from user of electronic device 100, server 300 may not mark song A as a playback record of electronic device 100. That is, server 300 may not save song A to the historical playback record of electronic device 100, nor may it use song A as a data source for subsequent content recommendations to user of electronic device 100. In this way, if song A was requested to be played by other family members of user of electronic device 100, it can prevent songs that are meant to be recommended to other family members of user of electronic device 100 from being mistakenly recommended to user of electronic device 100, and will not affect the effectiveness of content recommendations to user of electronic device 100.

[0217] S718, Electronic device 100 displays song playback history and song recommendation list, wherein the song playback history does not include song A, and the song recommendation list does not include songs of the same type as song A.

[0218] For example, before the electronic device 200 plays song A, such as Figure 6A As shown, the user interface displayed by the electronic device 100 can be the recently played interface of a music app. It can be seen that the recently played song record (i.e., playback history) of the electronic device 100 includes two songs: Song 1 and Song 2, both of which are rock songs. The song recommendation list displayed by the electronic device 100 (i.e.,...) Figure 6A Song 3 is included in the “Songs You May Be Interested In” section. Song 3 is also a rock song, the same type of song as the songs in the recently played song record.

[0219] Assuming song A is a children's song, and because children's songs are completely different from the rock songs mentioned above, the differences are significant. Therefore, after electronic device 200 plays song A, if the user opens the recently played page of the music app on electronic device 100, the song playback history and song recommendation list displayed on that page can be compared to... Figure 6A Similarly, song A will not be included in the song playback history, nor will the song recommendation list include songs of the same type as song A.

[0220] In some embodiments, if song A differs significantly from songs in the recently played song record of electronic device 100, song A can be added to the recently played song record of electronic device 100. However, songs of the same type as song A do not need to be added to the song recommendation list. That is, song A will be included in the playback record, but songs of the same type as song A will not be included in the song recommendation list. This allows the recently played records on both electronic device 100 and electronic device 200 to be displayed for easy viewing by the user, without affecting the effectiveness of content recommendations for the user of electronic device 100.

[0221] In other embodiments, electronic device 100 can distinguish between the recently played records of electronic device 100 and those of electronic device 200. See also Figure 6C For example, if electronic device 100 (the device itself) recently played song 1 and song 2, and electronic device 200 (the smart speaker) recently played song A, then electronic device 100 can display song 1 and song 2 under the "Device" label, and song A under the "My Speaker" label. This way, users can intuitively see which songs are playing on the device itself and which are playing on their smart speaker, improving the user experience.

[0222] By implementing Figure 7 The method provided in the illustrated embodiment can relatively easily and accurately identify whether the user requesting electronic device 200 (i.e., a smart home device such as a smart speaker) to play song A is a user of electronic device 100 (i.e., a personal device such as a mobile phone). If not, song A will not be saved in the playback history of electronic device 100, nor will it be used as a data source for subsequent content recommendations to users of electronic device 100. Thus, if song A is requested to be played by another family member of the user of electronic device 100, it can prevent songs intended for other family members from being incorrectly recommended to the user of electronic device 100, thus not affecting the effectiveness of content recommendations to the user of electronic device 100 and improving user experience. Furthermore, electronic devices 100 and 200 do not require additional functionality; only server 300 needs to be upgraded, resulting in low development costs.

[0223] In the above Figure 2 and Figure 7 In the illustrated embodiment, the process of determining whether the distance between electronic device 100 and electronic device 200 is less than or equal to a preset distance threshold (i.e., determining whether electronic device 100 is near electronic device 200) is performed by server 300. In some embodiments, this process can also be performed by electronic device 200 (i.e., a smart home device such as a smart speaker) or electronic device 100 (i.e., a personal device such as a mobile phone). Exemplary descriptions are provided below:

[0224] First, combined Figure 8A This paper introduces a possible implementation method for determining whether the distance between electronic device 100 and electronic device 200 is less than or equal to a preset distance threshold using electronic device 200 (i.e., a smart home device such as a smart speaker):

[0225] The specific execution processes of steps S801-S804 and steps S808-S810 can be referred to Figure 2 The relevant content in the illustrated embodiment will not be repeated here. The following only describes the specific execution process of steps S805-S807:

[0226] S805-S806, Electronic device 200 determines whether there is an electronic device in the near field that is logged into the same account as electronic device 200. If so, electronic device 200 can send device information list 1 to server 300. The device information list 1 includes device information of all electronic devices in the near field that are logged into the same account as electronic device 200.

[0227] In this embodiment, the electronic device 200 can detect near-field devices via Wi-Fi or other short-range wireless communications, such as Bluetooth. This embodiment does not limit the specific short-range communication method used. In some embodiments, GPS can also be used to determine if other electronic devices are nearby. This embodiment uses Wi-Fi detection as an example for explanation.

[0228] For example, electronic device 200 can search for broadcast signals sent by surrounding devices via Wi-Fi, detect devices with the same SSID as the Wi-Fi network connected to electronic device 200 as near-field devices, and determine near-field devices as those whose distance from electronic device 200 is less than or equal to a preset distance threshold. Furthermore, electronic device 200 can also obtain device information of near-field devices (such as device identifier, media access control address, etc.) from the broadcast signals.

[0229] Furthermore, electronic device 200 can determine whether there are other electronic devices in the near-field network that are logged into the same account as electronic device 200. For example, electronic device 200 can obtain device information of other electronic devices logged into the same account as electronic device 200 based on the association between account and device information. If the device information of the near-field network contains device information of one or more other electronic devices logged into the same account as electronic device 200 (such as electronic device 100), then electronic device 200 can determine that there are other electronic devices logged into the same account as electronic device 200 in the near-field network. The association between account and device information can be obtained by electronic device 200 from server 300.

[0230] Furthermore, after electronic device 200 determines that there are other electronic devices in the near-field devices that are logged into the same account as electronic device 200, electronic device 200 can send device information list 1 to server 300. Device information list 1 includes device information of all electronic devices in the near-field that are logged into the same account as electronic device 200.

[0231] It should be noted that the timing of the execution of step S805 is not limited in the embodiments of this application. For example, it can be executed after step S801, or it can be executed after step S802 / step S803 / step S804.

[0232] S807, Server 300 determines that the device information list 1 includes the device information of electronic device 100.

[0233] Specifically, after receiving the device information list 1 sent by the electronic device 200, the server 300 can determine whether the device information list 1 includes the device information of the electronic device 100. If yes, the server 300 can continue to execute step S808; if no, the server 300 can determine that the song A does not need to be saved as the historical playback record of the user's personal device (e.g., electronic device 100), nor does it need to be used as the data source for subsequent content recommendations for the user's personal device.

[0234] Optionally, before executing step S808, the server 300 further includes: determining the device information of other electronic devices that are logged into the same account as electronic device 200, including the device information of electronic device 100, based on the previously saved association between account and device information.

[0235] In some embodiments, electronic device 200 may only obtain the device information of the near-field device and send the device information of the near-field device to server 300. After receiving the device information of the near-field device, server 300 may determine whether there is device information of other electronic devices logged into the same account as electronic device 200, such as device information of electronic device 100, based on the device information of the near-field device and the previously saved association between account and device information. If yes, server 300 will then execute step S808; if no, server 300 may determine that song A does not need to be saved as the historical playback record of user personal device (e.g., electronic device 100), nor does it need to be used as a data source for subsequent content recommendation for user personal device.

[0236] In some embodiments, the device information list 1 sent in step S806 may not be the device information list 1, but rather an indication that electronic device 200 is close to one or more electronic devices, such as an indication that electronic device 200 is close to electronic device 100. Then, server 300 does not need to determine the distance between electronic device 200 and electronic device 100, but directly decides whether to execute subsequent steps in step S807 based on the above indication. For example, if server 300 determines that electronic device 100 is close to electronic device 200 based on the above indication, then it continues to execute step S808.

[0237] Easy to understand Figure 8A Steps S801-S807 shown can be replaced Figure 2 Steps S210-S216 shown, or, Figure 7 Steps S710-S716 are shown.

[0238] Figure 8B This is a schematic diagram illustrating the process of an electronic device 200 playing songs, as provided in an embodiment of this application.

[0239] This process can be used when a user instructs electronic device 200 to play a song, but does not explicitly specify which song to play. Before executing this process, electronic device 200 needs to establish a binding relationship with electronic device 100, the specific process of which is described above. Figure 2 The steps in stage one of the illustrated embodiments are the same and will not be repeated here.

[0240] The following describes the process of playing songs on electronic device 200:

[0241] S801', Electronic device 200 receives a user's instruction to play a song.

[0242] This instruction can be a voice command initiated by the user, such as, "Hey Celia, play a song."

[0243] In this embodiment of the application, the instruction does not explicitly specify which song the user wants the electronic device 200 to play.

[0244] In steps S802'-S803', electronic device 200 determines whether there are other electronic devices in the near-field devices. If so, electronic device 200 can send a request to server 300 to obtain song playback resources. The request carries device information list 1, which includes device information of all electronic devices in the near field.

[0245] In this embodiment, the electronic device 200 can detect near-field devices via Wi-Fi or other short-range wireless communications, such as Bluetooth. This embodiment does not limit the specific short-range communication method used. In some embodiments, GPS can also be used to determine if other electronic devices are nearby. This embodiment uses Wi-Fi detection as an example for explanation.

[0246] For example, electronic device 200 can search for broadcast signals sent by surrounding devices via Wi-Fi, detect devices with the same SSID as the Wi-Fi network connected to electronic device 200 as near-field devices, and determine near-field devices as those whose distance from electronic device 200 is less than or equal to a preset distance threshold. Furthermore, electronic device 200 can also obtain device information of near-field devices (such as device identifier, media access control address, etc.) from the broadcast signals.

[0247] Furthermore, after obtaining the device information of the near-field devices, the electronic device 200 can send a request to the server 300 to obtain song playback resources. The request carries a device information list 1, which includes the device information of all electronic devices in the near field.

[0248] S804', Server 300 determines whether the device information list 1 includes the device information of electronic device 100.

[0249] Specifically, after receiving the device information list 1, the server 300 can determine whether the device information list 1 includes the device information of the electronic device 100. If yes, it means that the distance between the electronic device 200 and the electronic device 100 is less than or equal to a preset distance threshold, and the server 300 can continue to execute step S805'. If no, it means that the distance between the electronic device 200 and the electronic device 100 is greater than the preset distance threshold, and the server 300 can continue to execute step S807'.

[0250] If S805'-S806' and server 300 determine that device information list 1 includes device information of electronic device 100, they can send song playback resource list 1 to electronic device 200. Song playback resource list 1 is a list of song playback resources in the historical playback records of electronic device 100. After receiving song playback resource list 1, electronic device 200 can play songs based on song playback resource list 1.

[0251] In other words, when the distance between electronic device 200 and electronic device 100 is less than or equal to a preset distance threshold, the user who initiates the song playback command is very likely the user of electronic device 100. Therefore, electronic device 200 can play songs from the playback history of electronic device 100. In this way, the songs played by electronic device 200 are more likely to be the user's favorite songs, thus improving the user experience.

[0252] If S807'-S808' and server 300 determine that device information list 1 does not include device information of electronic device 100, they can send song playback resource list 2 to electronic device 200. Song playback resource list 2 is a list of song playback resources other than the historical playback records of electronic device 100. After receiving song playback resource list 2, electronic device 200 can play songs based on song playback resource list 2.

[0253] In other words, if the distance between electronic device 200 and electronic device 100 exceeds a preset distance threshold, the user initiating the song playback command is highly likely not a user of electronic device 100. Therefore, electronic device 200 can play songs not included in the playback history of electronic device 100. For example, it can play songs from the playback history of all other electronic devices that have established a binding or communication connection with electronic device 200. Alternatively, it can play songs with high recent play counts, classic and popular songs, etc. This way, the songs played by electronic device 200 are more likely to be those the user prefers, improving the user experience.

[0254] Figure 8C This is a schematic diagram illustrating the process of playing songs using another electronic device 200 provided in this application embodiment.

[0255] This process can be used when a user instructs electronic device 200 to play a song, but does not explicitly specify which song to play. Before executing this process, electronic device 200 needs to establish a binding relationship with electronic device 100, and electronic device 100 can periodically report its location information to server 300, as described above. Figure 2 The steps in stage one (steps S201-S209) and steps S210-S211 in stage two of the embodiment shown are similar and will not be described again here.

[0256] The following describes the process of playing songs on electronic device 200:

[0257] S801'', Electronic device 200 receives a user's instruction to play a song.

[0258] This instruction can be a voice command initiated by the user, such as, "Hey Celia, play a song."

[0259] In this embodiment of the application, the instruction does not explicitly specify which song the user wants the electronic device 200 to play.

[0260] S802'', Electronic device 200 sends a request to server 300 to obtain song playback resources. The request carries device information 2 of electronic device 200, IP address of electronic device 200, etc.

[0261] The specific execution process of step S802'' can be referred to the above. Figure 2 The relevant content in step S213 of the illustrated embodiment will not be repeated here.

[0262] S803'', Server 300 determines whether the distance between electronic device 100 and electronic device 200 is less than or equal to a preset distance threshold.

[0263] The specific execution process of step S803'' can be referred to the above. Figure 2 The relevant content in step S216 of the illustrated embodiment will not be repeated here.

[0264] If, in steps S804''-S805'', server 300 determines that the distance between electronic device 200 and electronic device 100 is less than or equal to a preset distance threshold, it can send a song playback resource list 1 to electronic device 200. Here, the song playback resource list 1 is a list of song playback resources in the historical playback records of electronic device 100. After receiving the song playback resource list 1, electronic device 200 can play songs based on the song playback resource list 1.

[0265] In other words, when the distance between electronic device 200 and electronic device 100 is less than or equal to a preset distance threshold, the user who initiates the song playback command is very likely the user of electronic device 100. Therefore, electronic device 200 can play songs from the playback history of electronic device 100. In this way, the songs played by electronic device 200 are more likely to be the user's favorite songs, thus improving the user experience.

[0266] If S806''-S807'', server 300 determines that the distance between electronic device 200 and electronic device 100 is greater than a preset distance threshold, it can send a song playback resource list 2 to electronic device 200. The song playback resource list 2 is a list of song playback resources other than the historical playback records of electronic device 100. After receiving the song playback resource list 2, electronic device 200 can play songs based on the song playback resource list 2.

[0267] In other words, if the distance between electronic device 200 and electronic device 100 exceeds a preset distance threshold, the user initiating the song playback command is highly likely not a user of electronic device 100. Therefore, electronic device 200 can play songs not included in the playback history of electronic device 100. For example, it can play songs from the playback history of all other electronic devices that have established a binding or communication connection with electronic device 200. Alternatively, it can play songs with high recent play counts, classic and popular songs, etc. This way, the songs played by electronic device 200 are more likely to be those the user prefers, improving the user experience.

[0268] The following is combined Figure 9 This paper introduces a possible implementation method for determining whether the distance between electronic device 100 and electronic device 200 is less than or equal to a preset distance threshold using electronic device 100 (i.e., a personal device such as a mobile phone):

[0269] The specific execution processes of steps S904-S907 and steps S909-S911 can be referred to Figure 2 The relevant content in the illustrated embodiment will not be repeated here. The following only describes the specific execution process of steps S901-S903 and the specific execution process of step S908:

[0270] S901-S903, Electronic device 100 determines whether there are other electronic devices in the near-field that are logged into the same account as electronic device 100. If so, electronic device 100 can send device information list 2 to server 300. The device information list 2 includes device information of all electronic devices in the near-field that are logged into the same account as electronic device 100.

[0271] In this embodiment, steps S901-S903 can be executed periodically, and the execution period can be 0.5 minutes, 1 minute, 2 minutes, etc. This embodiment does not limit this.

[0272] In this embodiment of the application, the server 300 may only store the device information list (e.g., device information list 2) most recently sent by the electronic device 100.

[0273] In this embodiment of the application, the electronic device 100 can detect near-field devices through a device discovery module (such as a Wi-Fi module, Bluetooth module, etc.).

[0274] Electronic device 100 can detect near-field devices via Wi-Fi or other short-range wireless communications, such as Bluetooth. This application embodiment does not limit the specific short-range communication method used. This application embodiment uses Wi-Fi detection as an example for description.

[0275] For example, electronic device 100 can search for broadcast signals sent by surrounding devices via Wi-Fi, detect devices with the same SSID as the Wi-Fi network connected to electronic device 100 as near-field devices, and determine the near-field devices as those whose distance from electronic device 100 is less than or equal to a preset distance threshold. Furthermore, electronic device 100 can also obtain device information of near-field devices (such as device identifier, media access control address, etc.) from the broadcast signals.

[0276] Furthermore, electronic device 100 can determine whether there are other electronic devices in the near-field network that are logged into the same account as electronic device 100. For example, electronic device 100 can obtain device information of other electronic devices logged into the same account as electronic device 100 based on the association between account and device information. If the device information of the near-field network includes device information of one or more other electronic devices logged into the same account as electronic device 100 (such as electronic device 200), then electronic device 100 can determine that there are other electronic devices logged into the same account as electronic device 100 in the near-field network. The association between account and device information can be obtained by electronic device 100 from server 300.

[0277] Furthermore, after electronic device 100 determines that there are other electronic devices in the near-field devices that are logged into the same account as electronic device 100, electronic device 100 can send device information list 2 to server 300. Device information list 2 includes device information of all electronic devices in the near-field that are logged into the same account as electronic device 100.

[0278] Furthermore, server 300 can store the aforementioned device information list 2.

[0279] S908, Server 300 determines that the device information list 2 includes the device information of electronic device 200.

[0280] It is easy to understand that step S908 is triggered by step S905.

[0281] Specifically, after receiving a request from electronic device 200 to obtain playback resources for song A, server 300 can determine whether device information list 2 includes the device information of electronic device 200 based on the device information of electronic device 200 carried in the request and the pre-saved device information list 2. If yes, server 300 can continue to execute step S909; if no, server 300 does not need to save song A as a historical playback record of user's personal device (e.g., electronic device 100), nor does it need to use song A as a data source for subsequent content recommendations for user's personal device.

[0282] Among them, the device information list 2 mentioned above is the device information list sent by electronic device 100 that was most recently saved by server 300.

[0283] In some embodiments, electronic device 100 may only obtain device information of near-field devices and periodically send the device information of near-field devices to server 300, which then saves it. When step S908 is triggered, server 300 may determine whether there is device information of other electronic devices logged into the same account as electronic device 100, such as device information of electronic device 200, based on the most recently saved device information of near-field devices sent by electronic device 100 and the previously saved association between account and device information. If yes, server 300 then executes step S909; otherwise, server 300 may determine that song A should not be saved as a historical playback record of user's personal device (e.g., electronic device 100), nor should song A be used as a data source for subsequent content recommendations to user's personal device.

[0284] In some embodiments, the device information list 2 sent and saved in steps S902-S903 may not be the device information list 2, but rather indication information indicating that electronic device 100 is close to one or more electronic devices, such as indication information indicating that electronic device 100 is close to electronic device 200. Then, server 300 does not need to determine the distance between electronic device 200 and electronic device 100, but directly decides whether to execute subsequent steps in step S908 based on the above indication information. For example, if server 300 determines that electronic device 100 and electronic device 200 are close based on the above indication information, then it continues to execute step S909.

[0285] Easy to understand Figure 9 Steps S901-S908 shown can be replaced Figure 2 Steps S210-S216 shown, or, Figure 7 Steps S710-S716 are shown.

[0286] Easy to understand, in Figure 8A , Figure 8B , Figure 9 In the illustrated embodiment, if electronic device 200 (e.g., a smart speaker) or electronic device 100 (e.g., a mobile phone) determines whether the distance between electronic device 100 and electronic device 200 is less than or equal to a preset distance threshold (i.e., whether electronic device 100 is near electronic device 200), Figure 2 Steps S208-S209 are shown. Figure 7 Steps S708-S709 shown do not need to be executed.

[0287] It should be noted that the playback history display method provided in this application embodiment is only illustrated by the case where the user requests the smart speaker to play a song (i.e., the playback data is music data). It is not limited to this case. The playback history display method provided in this application embodiment is also applicable to other cases, such as the case where the user requests the smart screen to play a video (i.e., the playback data is video data).

[0288] In this embodiment of the application, the first electronic device can be electronic device 100, the second electronic device can be electronic device 200, the server can be server 300, the first account can be account 1, and the first historical playback record can be... Figure 6A The history playback record shown can be as follows: the first song can be... Figure 2 When song A is played on an electronic device 200, the first message could be... Figure 2 The message sent in step S218 may include playback information for song A, and may also include information about songs of the same type as song A. The second message may be... Figure 2 The message sent in step S213 (i.e., the request to obtain playback resources for song A) can be the second historical playback record. Figure 6B The historical playback records shown can be configured such that the first preset threshold is a preset distance threshold, and the second song can be... Figure 7 Song A played on electronic device 200, third message Figure 7 The message sent in step S713 (i.e., the request to obtain playback resources for song A) can be the third historical playback record. Figure 6A The historical playback record shown can be configured such that the first location information can be the location information 2 of the electronic device 100, the first reference location information can be the location information 1 of the electronic device 100, and the fourth message can be... Figure 9 The fifth message in the device information list 2 can be... Figure 8A In the device information list 1, the second preset threshold can be a preset preference threshold, and the song category information can be the song group label G.

[0289] The following describes an embodiment of this application that describes the internal modules of the electronic device 100 and the server 300 involved in the execution of the playback record display method, as well as the possible cooperation methods between the various internal modules.

[0290] Figure 10 This application provides an example of an electronic device 100 and a server 300 involved in the execution of a playback record display method, as well as possible collaboration methods between these internal modules.

[0291] like Figure 10 As shown, the electronic device 100 may include a location information acquisition and reporting module 1001, a song service module 1009, etc. The server 300 may include a storage module, a computing module, etc.; wherein, the storage module may include a song tag storage module 1002, a location information storage module 1003, an IP storage module 1004, and a playback information storage module 1005; the computing module may include a song similarity calculation module 1006, a location calculation module 1007, and a playback information calculation module 1008.

[0292] The location information collection and reporting module 1001 can be used to collect the location information of the electronic device 100 (such as the location information collected during the account binding process, and the location information collected periodically after the account binding is completed), and report the collected location information to the server 300.

[0293] The song tag storage module 1002 can be used to store the tag information of each song on the server 300, such as dimension tag D, group tag G, etc.

[0294] The location information storage module 1003 can be used to store location information reported by the electronic device 100 (such as location information reported during the account binding process, and location information reported periodically after the account binding is completed).

[0295] IP storage module 1004 can be used to store the IP address of electronic device 100, wherein the IP address of electronic device 100 can be obtained by server 300 when electronic device 100 reports location information to server 300. It can also be used to store the IP address of electronic device 200.

[0296] The playback information storage module 1005 can be used to store the historical playback records of the user of the electronic device 100. The historical playback records may include the playback records of the user on the electronic device 100 and the playback records on the electronic device 200. The playback records on the electronic device 200 refer to the records that the server 300 determines are the records in which the user of the electronic device 100 requests the electronic device 200 to play.

[0297] The song similarity calculation module 1006 can calculate the similarity between the song requested by the user to be played by the electronic device 200 and each song in the historical playback record of the electronic device 100, and determine the user's preference for the song requested by the electronic device 200 based on the similarity, and send the song preference calculation result (also called the song similarity calculation result) to the playback information calculation module 1008. The similarity can utilize the aforementioned difference D. i To measure the difference, D i The calculation can be performed using the song tag information stored in the song tag storage module 1002. For details, please refer to the relevant content in the foregoing embodiments, which will not be repeated here.

[0298] The location calculation module 1007 can be used to calculate the distance between electronic device 100 and electronic device 200, determine whether electronic device 100 is near electronic device 200, and send the location calculation result (i.e., the decision result of whether electronic device 100 is near electronic device 200) to the playback information calculation module 1008. The distance between electronic device 100 and electronic device 200 can be calculated based on the location information of electronic device 100 stored in the location information storage module 1003, or based on the IP address of electronic device 100 and the IP address of electronic device 200 stored in the IP storage module 1004. If it is determined that electronic device 100 is near electronic device 200, it can also be used to send the current location information of electronic device 100 to the location information storage module 1003.

[0299] The playback information calculation module 1008 can be used to determine whether the user requesting the electronic device 200 to play a song is a user of the electronic device 100, based on the song similarity calculation result sent by the song similarity calculation module 1006 and the location calculation result sent by the location calculation module 1007. If it is determined that the user requesting the electronic device 200 to play a song is a user of the electronic device 100, the playback information calculation module 1008 can also send the playback information of this request to the playback information storage module 1005.

[0300] The song service module 1009 can be used to obtain the user's historical playback records of the electronic device 100. For example, the song service module 1009 can send a request to the playback information storage module 1005 to obtain the user's historical playback records of the electronic device 100. After receiving the request, the playback information storage module 1005 can send the user's historical playback records of the electronic device 100 to the song service module 1009. The song service module 1009 can receive and save the user's historical playback records of the electronic device 100 to support the user in viewing the historical playback records.

[0301] Electronic device 200 may also include a receiving module (not shown in the figure), which can be used to receive requests from electronic device 200 (such as those mentioned above). Figure 2 The electronic device 200 in the illustrated embodiment (requesting to obtain song A playback resources) can also be used to trigger the song similarity calculation module 1006 to perform song similarity calculation and the position calculation module 1007 to perform position calculation after receiving the request from the electronic device 200 to obtain song playback resources.

[0302] The electronic device 100 may also include a device discovery module (not shown in the figure). This module is responsible for discovering nearby devices, establishing short-range communication connections between different electronic devices, and receiving and / or sending relevant instructions and requests. In this embodiment, the device discovery module may be a Wi-Fi module, a Bluetooth module, or the like.

[0303] For more details regarding the functions of the various internal modules of the electronic device 100 and the server 300, please refer to the relevant content in the above embodiments, which will not be repeated here.

[0304] Understandable, Figure 10 The illustrated structures do not constitute a specific limitation on electronic devices 100 and 200. In other embodiments of this application, electronic devices 100 and 200 may have a greater... Figure 10 The more or fewer components shown can be combined into two or more components, or they can have different component configurations. The various components shown in the figure can be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application-specific integrated circuits.

[0305] The structure of an electronic device 100 provided in the embodiments of this application is described below.

[0306] Figure 11 An exemplary embodiment of an electronic device 100 provided in this application is shown.

[0307] like Figure 11As shown, the electronic device 100 may include: a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification 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.

[0308] 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.

[0309] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

[0310] The controller can be the nerve center and command center of the electronic device 100. The controller can generate operation control signals according to the instruction opcode and timing signals to complete the control of fetching and executing instructions.

[0311] 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 memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0312] In some embodiments, the processor 110 may include one or more interfaces. Interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0313] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple I2C buses. The processor 110 can couple to the touch sensor 180K, charger, flash, camera 193, etc., through different I2C bus interfaces. For example, the processor 110 can couple to the touch sensor 180K through the I2C interface, enabling the processor 110 and the touch sensor 180K to communicate through the I2C bus interface, thereby realizing the touch function of the electronic device 100.

[0314] The I2S interface can be used for audio communication. In some embodiments, the processor 110 may include multiple I2S buses. The processor 110 can be coupled to the audio module 170 via the I2S bus to enable communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the I2S interface to enable the function of answering phone calls through a Bluetooth headset.

[0315] The PCM interface can also be used for audio communication, sampling, quantizing, and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 can be coupled via the PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface, enabling the function of answering phone calls through a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.

[0316] The UART interface is a universal serial data bus used for asynchronous communication. This bus can be a bidirectional communication bus. It converts the data to be transmitted between serial and parallel communication. In some embodiments, the UART interface is typically used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 via the UART interface to implement Bluetooth functionality. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the UART interface to enable music playback through Bluetooth headphones.

[0317] The MIPI interface can be used to connect the processor 110 to peripheral devices such as the display screen 194 and the camera 193. The MIPI interface includes a camera serial interface (CSI) and a display serial interface (DSI). In some embodiments, the processor 110 and the camera 193 communicate via the CSI interface to enable the electronic device 100 to capture images. The processor 110 and the display screen 194 communicate via the DSI interface to enable the electronic device 100 to display images.

[0318] The GPIO interface can be configured via software. It can be configured as a control signal or a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 to a camera 193, a display screen 194, a wireless communication module 160, an audio module 170, a sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.

[0319] USB port 130 is a USB standard compliant interface, specifically a Mini USB port, Micro USB port, USB Type-C port, etc. USB port 130 can be used to connect a charger to charge electronic device 100, and can also be used for data transfer between electronic device 100 and peripheral devices. It can also be used to connect headphones for audio playback. This interface can also be used to connect other terminal devices, such as AR devices.

[0320] It is understood that the interface connection relationships between the modules illustrated in the embodiments of this application are merely illustrative and do not constitute a structural limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.

[0321] The charging management module 140 receives charging input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 receives charging input from the wired charger via a USB interface 130. In some wireless charging embodiments, the charging management module 140 receives wireless charging input via the wireless charging coil of the electronic device 100. While charging the battery 142, the charging management module 140 can also supply power to the electronic device 100 via the power management module 141.

[0322] The power management module 141 connects the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, providing power to the processor 110, internal memory 121, external memory, display screen 194, camera 193, and wireless communication module 160, etc. The power management module 141 can also monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage current, impedance). In some other embodiments, the power management module 141 may also be located within the processor 110. In other embodiments, the power management module 141 and the charging management module 140 may be located in the same device.

[0323] 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.

[0324] 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 tuning switches.

[0325] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 may be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.

[0326] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs sound signals through an audio device (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through the display screen 194. In some embodiments, the modem processor may be a separate device. In other embodiments, the modem processor may be independent of the processor 110 and may be housed in the same device as the mobile communication module 150 or other functional modules.

[0327] 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 system (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.

[0328] 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 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 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 satellite-based augmentation systems (SBAS).

[0329] 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.

[0330] 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 miniature LED, a microLED, 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.

[0331] Electronic device 100 can perform shooting functions through ISP, camera 193, video codec, GPU, display 194 and application processor.

[0332] The ISP (Image Signal Processor) is used to process data fed back from the camera 193. For example, when taking a picture, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, and the camera's photosensitive element transmits the electrical signal to the ISP for processing, transforming it into an image visible to the naked eye. The ISP can also perform algorithmic optimization of image noise, brightness, and skin tone. The ISP can also optimize parameters such as exposure and color temperature of the shooting scene. In some embodiments, the ISP can be set in the camera 193.

[0333] Camera 193 is used to capture still images or videos. An object is projected onto a photosensitive element by generating an optical image through the lens. The photosensitive element can be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, which is then passed to an ISP for conversion into a digital image signal. The ISP outputs the digital image signal to a DSP for processing. The DSP converts the digital image signal into image signals in standard RGB, YUV, or other formats. In some embodiments, the electronic device 100 may include one or N cameras 193, where N is a positive integer greater than 1.

[0334] Digital signal processors (DSPs) are used to process digital signals. Besides digital image signals, they can also process other digital signals. For example, when electronic device 100 selects a frequency, the DSP can perform Fourier transforms on the frequency energy.

[0335] Video codecs are used to compress or decompress digital video. Electronic device 100 may support one or more video codecs. Thus, electronic device 100 can play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.

[0336] An NPU (Neural Processing Unit) is a computational processor for neural networks (NNs). By borrowing the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it can rapidly process input information and continuously learn on its own. NPUs can enable intelligent cognitive applications in electronic devices, such as image recognition, facial recognition, speech recognition, and text understanding.

[0337] 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.

[0338] Internal memory 121 can be used to store computer executable program code, which includes instructions. Processor 110 executes various functional applications and data processing of electronic device 100 by running the instructions stored in internal memory 121. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a 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.). Furthermore, 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.

[0339] 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.

[0340] 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.

[0341] 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.

[0342] 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.

[0343] 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.

[0344] 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.

[0345] 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. For example, when a touch operation with an intensity less than a first pressure threshold is applied to the SMS application icon, a command to view an SMS is executed. When a touch operation with an intensity greater than or equal to the first pressure threshold is applied to the SMS application icon, a command to create a new SMS is executed.

[0346] 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.

[0347] The barometric pressure sensor 180C is used to measure air pressure. In some embodiments, the electronic device 100 calculates altitude using the air pressure value measured by the barometric pressure sensor 180C to assist in positioning and navigation.

[0348] The magnetic sensor 180D includes a Hall sensor. The electronic device 100 can use the magnetic sensor 180D to detect the opening and closing of the flip cover. In some embodiments, when the electronic device 100 is a flip phone, the electronic device 100 can detect the opening and closing of the flip cover using the magnetic sensor 180D. Then, based on the detected opening and closing state of the cover or the flip cover, features such as automatic flip unlocking can be set.

[0349] The accelerometer 180E 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 device 100, and can be applied to applications such as screen orientation switching and pedometers.

[0350] 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.

[0351] The proximity sensor 180G may include, for example, a light-emitting diode (LED) and a light detector, such as a photodiode. The LED may be an infrared LED. The electronic device 100 emits infrared light outward through the LED. The electronic device 100 uses the photodiode to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the electronic device 100. When insufficient reflected light is detected, the electronic device 100 can determine that there is no object near the electronic device 100. The electronic device 100 may use the proximity sensor 180G to detect when a user holds the electronic device 100 close to their ear for a call, so as to automatically turn off the screen to save power. The proximity sensor 180G can also be used in holster mode and pocket mode for automatic unlocking and locking of the screen.

[0352] The ambient light sensor 180L is used to sense the brightness of ambient light. The electronic device 100 can adaptively adjust the brightness of the display screen 194 based on the sensed ambient light brightness. The ambient light sensor 180L can also be used to automatically adjust the white balance when taking pictures. The ambient light sensor 180L can also work with the proximity sensor 180G to detect whether the electronic device 100 is in a pocket to prevent accidental touches.

[0353] 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.

[0354] Temperature sensor 180J is used to detect temperature. In some embodiments, electronic device 100 uses the temperature detected by temperature sensor 180J to execute a temperature handling strategy. For example, when the temperature reported by temperature sensor 180J exceeds a threshold, electronic device 100 performs thermal protection by reducing the performance of a processor located near temperature sensor 180J to reduce power consumption. In other embodiments, when the temperature is below another threshold, electronic device 100 heats battery 142 to prevent abnormal shutdown of electronic device 100 due to low temperature. In still other embodiments, when the temperature is below yet another threshold, electronic device 100 boosts the output voltage of battery 142 to prevent abnormal shutdown due to low temperature.

[0355] Touch sensor 180K, also known as a "touch panel," can be located on display screen 194. The touch sensor 180K and display screen 194 together form a touchscreen, also known as a "touch screen." 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.

[0356] The bone conduction sensor 180M can acquire vibration signals. In some embodiments, the bone conduction sensor 180M can acquire vibration signals from the vibrating bone segments of the human vocal cords. The bone conduction sensor 180M can also contact the human pulse to receive blood pressure signals. In some embodiments, the bone conduction sensor 180M can also be incorporated into headphones to form bone conduction headphones. The audio module 170 can parse the voice signals from the vibrating bone segments of the vocal cords acquired by the bone conduction sensor 180M to realize voice functionality. The application processor can parse heart rate information from the blood pressure signals acquired by the bone conduction sensor 180M to realize heart rate detection functionality.

[0357] 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.

[0358] 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.

[0359] Indicator 192 can be an indicator light, used to indicate charging status, power changes, or to indicate messages, missed calls, notifications, etc.

[0360] 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 multiple cards can be of the same or different types. 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.

[0361] It should be understood that, Figure 11 The electronic device 100 shown is merely an example, and the electronic device 100 may have more than Figure 11 The more or fewer components shown can be combined into two or more components, or they can have different component configurations. Figure 11 The various components shown can be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application-specific integrated circuits.

[0362] The following describes the software structure of an electronic device 100 provided in an embodiment of this application.

[0363] Figure 12 The software structure of an electronic device 100 provided in an embodiment of this application is illustrated by way of example.

[0364] like Figure 12 As shown, the software system of electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This application embodiment uses the layered architecture Android system as an example to exemplify the software structure of electronic device 100.

[0365] A layered architecture divides software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer.

[0366] The application layer can include a series of application packages.

[0367] like Figure 12As shown, the application package may include applications such as camera, gallery, calendar, call, map, AI speaker, WLAN, Bluetooth, music, video, and SMS.

[0368] The AI ​​speaker application can perform a variety of functions, such as managing or binding one or more smart speakers connected to the electronic device 100, playing music, controlling other smart home devices, and so on.

[0369] Among them, music applications (such as Huawei Music) can be used by users to play music.

[0370] In some embodiments, the music application can be the same application as the AI ​​speaker application, which can be used not only to play music but also to connect to smart home devices such as speakers.

[0371] It should be noted that the names of the music application and the AI ​​speaker application are merely terms used in the embodiments of this application, and their meanings have been recorded in the embodiments of this application. Their names do not constitute any limitation on the embodiments of this application.

[0372] The application framework layer provides application programming interfaces (APIs) and a programming framework for applications in the application layer. The application framework layer includes some predefined functions.

[0373] like Figure 12 As shown, the application framework layer may include a window manager, content provider, view system, phone manager, resource manager, notification manager, etc.

[0374] The window manager is used to manage windowed applications. It can retrieve screen size, determine the presence of a status bar, lock the screen, and capture screenshots, among other things.

[0375] Content providers store and retrieve data, making that data accessible to applications. This data may include videos, images, audio, made and received phone calls, browsing history and bookmarks, phone books, etc.

[0376] A view system includes visual controls, such as controls for displaying text and controls for displaying images. View systems can be used to build applications. A display interface can consist of one or more views. For example, a display interface including a text notification icon could include views for displaying text and views for displaying images.

[0377] The phone manager is used to provide communication functions for electronic device 100. For example, it manages call status (including connection and disconnection).

[0378] The file explorer provides applications with various resources, such as localized strings, icons, images, layout files, video files, and more.

[0379] The notification manager allows applications to display notifications in the status bar. These notifications can be used to deliver informational messages and can disappear automatically after a short pause, requiring no user interaction. For example, the notification manager can be used to notify users of completed downloads or message alerts. The notification manager can also display notifications as icons or scrolling text in the top status bar, such as notifications from background applications, or as dialog boxes on the screen. Examples include displaying text messages in the status bar, emitting sounds, vibrating electronic devices, and flashing indicator lights.

[0380] The Android Runtime consists of core libraries and a virtual machine. The Android runtime is responsible for the scheduling and management of the Android system.

[0381] The core library consists of two parts: one part is the functionalities that need to be called by the Java language, and the other part is the Android core library.

[0382] The application layer and application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and application framework layer as binary files. The virtual machine is used to perform functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection.

[0383] System libraries can include multiple functional modules. For example: surface manager, media libraries, 3D graphics processing libraries (e.g., OpenGL ES), 2D graphics engines (e.g., SGL), etc.

[0384] The Surface Manager is used to manage the display subsystem and provides the blending of 2D and 3D layers for multiple applications.

[0385] The media library supports playback and recording of various common audio and video formats, as well as still image files. It supports multiple audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.

[0386] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.

[0387] A 2D graphics engine is a graphics engine for 2D drawing.

[0388] The kernel layer is the layer between hardware and software. The kernel layer includes at least the display driver, camera driver, Bluetooth driver, and sensor driver.

[0389] The following example, using a scene of capturing a photograph, illustrates the workflow of the software and hardware of the electronic device 100.

[0390] When touch sensor 180K receives a touch operation, a corresponding hardware interrupt is sent to the kernel layer. The kernel layer processes the touch operation into a raw input event (including touch coordinates, timestamp of the touch operation, etc.). The raw input event is stored in the kernel layer. The application framework layer retrieves the raw input event from the kernel layer and identifies the control corresponding to the input event. Taking a touch click as an example, where the corresponding control is the camera application icon, the camera application calls the application framework layer's interface to launch the camera application, and then calls the kernel layer to launch the camera driver, capturing still images or videos through camera 193.

[0391] The structure of an electronic device 200 provided in the embodiments of this application is described below.

[0392] Figure 13 The structure of an electronic device 200 provided in an embodiment of this application is illustrated by way of example. The electronic device 200 may be a smart speaker.

[0393] like Figure 13 As shown, the electronic device 200 may include: a processor 201A, a memory 202A, a communication module 203A, an antenna 204A, a power switch 205A, a USB communication processing module 206A, and an audio module 207A. Wherein:

[0394] The processor 201A can be used to read and execute computer-readable instructions. In its implementation, the processor 201A mainly includes a controller, an arithmetic logic unit (ALU), and registers. The controller is primarily responsible for instruction decoding and issuing control signals for the operations corresponding to the instructions. The ALU is primarily responsible for storing register operands and intermediate operation results temporarily stored during instruction execution. In its implementation, the processor 201A's hardware architecture can be an application-specific integrated circuit (ASIC), MIPS, ARM, or NP architecture, etc.

[0395] In some embodiments, the processor 201A can be used to parse the signals received by the communication module 203A. The processor 201A can then perform processing operations based on the parsing results.

[0396] Memory 202A is coupled to processor 201A and is used to store various software programs and / or multiple sets of instructions. In specific implementations, memory 202A may include high-speed random access memory and may also include non-volatile memory, such as one or more disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 202A may store an operating system, such as uCOS, VxWorks, RTLinux, or other embedded operating systems. Memory 202A may also store communication programs that can be used to communicate with electronic device 100, server 300, or other devices.

[0397] The communication module 203A can provide solutions for wireless communication applications on the electronic device 200, including WLAN (such as Wi-Fi networks), BLE, GNSS, FM, etc. In some embodiments, the communication module 203A can listen to signals emitted by other devices (such as electronic device 100), such as probe requests, and can send response signals, so that other devices (such as electronic device 100) can discover electronic device 200 and communicate with other devices (such as electronic device 100) via Wi-Fi.

[0398] In other embodiments, the communication module 203A may also transmit signals that enable other devices (such as electronic device 100) to discover electronic device 200 and communicate with other devices (such as electronic device 100) via Bluetooth or Wi-Fi.

[0399] The wireless communication function of electronic device 200 can be realized through antenna 204A, communication module 203A, modem processor, etc.

[0400] Antenna 204A can be used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 200 can be used to cover one or more communication frequency bands.

[0401] In some embodiments, the communication module 203A may have one or more antennas.

[0402] The power switch 205A can be used to control the power supply to the electronic device 200.

[0403] The USB communication processing module 206A can be used to communicate with other devices via a USB interface (not shown).

[0404] The audio module 207A can be used to output audio signals through the audio output interface. The audio module can also be used to receive audio data through the audio input interface. The electronic device 200 can be a media device such as a smart speaker.

[0405] Not limited to smart speakers, in some embodiments, the electronic device 200 can also be a smart TV (also known as a smart screen), etc. In this case, the electronic device 200 may also include a display screen (not shown), which can be used to display images, prompts, etc. The display screen can be a liquid crystal display (LCD), an organic light-emitting diode (OLED) display screen, an active-matrix organic light-emitting diode (AMOLED) display screen, a flexible light-emitting diode (FLED) display screen, a quantum dot light-emitting diode (QLED) display screen, etc.

[0406] Understandable, Figure 13 The electronic device 200 shown is merely an example. Figure 13 The illustrated structure does not constitute a specific limitation on the electronic device 200. In other embodiments of this application, the electronic device 200 may have a more... Figure 13 The more or fewer components shown can be combined into two or more components, or they can have different component configurations. The various components shown in the figure can be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application-specific integrated circuits.

[0407] The following describes the structure of a server 300 provided in an embodiment of this application.

[0408] Figure 14 An exemplary embodiment of the present application illustrates the structure of a server 300.

[0409] like Figure 14 As shown, server 300 may include: one or more processors 301A, memory 302A, communication interface 303A, transmitter 305A, receiver 306A, coupler 307A, and antenna 308A. These components can be connected via bus 304A or other means. Figure 14 Taking a bus connection as an example:

[0410] Communication interface 303A can be used by server 300 to communicate with other communication devices, such as electronic device 100 and electronic device 200. Specifically, communication interface 303A can be a 3G communication interface, a 4G communication interface, a 5G communication interface, or a future new radio interface. Not limited to wireless communication interfaces, server 300 can also be configured with a wired communication interface 303A, such as a local access network (LAN) interface. Transmitter 305A can be used to process the signals output by processor 301A. Receiver 306A can be used to process the mobile communication signals received by antenna 308A.

[0411] In some embodiments of this application, transmitter 305A and receiver 306A can be considered as a wireless modem. In server 300, the number of transmitters 305A and receivers 306A can be one or more. Antenna 308A can be used to convert electromagnetic energy in a transmission line into electromagnetic waves in free space, or to convert electromagnetic waves in free space into electromagnetic energy in a transmission line. Coupler 307A is used to split the mobile communication signal received by antenna 308A into multiple paths and distribute them to multiple receivers 306A.

[0412] Memory 302A is coupled to processor 301A and is used to store various software programs and / or sets of instructions. Specifically, memory 302A may include high-speed random access memory and may also include non-volatile memory, such as one or more disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 302A may store network communication programs that can be used to communicate with one or more auxiliary devices, one or more terminal devices, or one or more network devices.

[0413] In some embodiments of this application, memory 302A may be used to store the implementation program of the playback record display method provided by one or more embodiments of this application on the server 300 side. For the implementation of the playback record display method provided by one or more embodiments of this application, please refer to the above embodiments.

[0414] The processor 301A can be used to read and execute computer-readable instructions. Specifically, the processor 301A can be used to call a program stored in the memory 302A, such as the implementation program of the playback record display method provided in one or more embodiments of this application on the server 300 side, and execute the instructions contained in the program.

[0415] It should be noted that, Figure 14 The server 300 shown is merely one implementation of the embodiment of this application. In actual applications, the server 300 may include more or fewer components, which is not limited here.

[0416] For more details on the functions and working principles of server 300, please refer to the relevant content in the above embodiments, which will not be repeated here.

[0417] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).

[0418] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This program can be stored in a computer-readable storage medium, and when executed, it can include the processes described in the above method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.

[0419] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

Claims

1. A play record display method applied to a first electronic device, characterized by, Both the first electronic device and the second electronic device are associated with a first account, and the method includes: The first electronic device displays the first historical playback record, which is the historical playback record of the first account, and the first song is not included in the first historical playback record. The first electronic device receives the first message sent by the server; The first electronic device displays a second historical playback record based on the first message. The second historical playback record includes the first song, wherein the first song is a song played by the second electronic device when the distance between the first electronic device and the second electronic device is less than or equal to a first preset threshold.

2. The method of claim 1, wherein, The method further includes: The first electronic device displays a third historical playback record, which does not include the second song. The second song is the song played by the second electronic device when the distance between the first electronic device and the second electronic device is greater than the first preset threshold.

3. The method according to claim 1 or 2, characterized in that, The distance between the first electronic device and the second electronic device being less than or equal to the first preset threshold is obtained by the server when it determines that the IP address of the first electronic device is the same as the IP address of the second electronic device.

4. The method according to claim 1 or 2, characterized in that, The distance between the first electronic device and the second electronic device is less than or equal to the first preset threshold, which is obtained by the server when it determines that the first location information is the same as the first reference location information. Wherein, the first location information is the location information of the first electronic device periodically sent to the server, and the first reference location information is the location information of the first electronic device sent to the server when the second electronic device is associated with the first account.

5. The method according to claim 1 or 2, characterized in that, Before the first electronic device receives the first message sent by the server, the method further includes: The first electronic device detects one or more electronic devices associated with the first account in the same network based on a short-range communication connection, and obtains the device information of the one or more electronic devices, wherein the device information of the one or more electronic devices includes the device information of the second electronic device.

6. The method of claim 1, wherein, The average difference between the first song and the songs in the first historical playback record is less than or equal to a second preset threshold. The average difference is determined based on the difference between the first song and some or all of the songs in the first historical playback record.

7. The method of claim 2, wherein, The average difference between the first song and the songs in the first historical playback record is less than or equal to a second preset threshold. The average difference is determined based on the difference between the first song and some or all of the songs in the first historical playback record.

8. The method of claim 3, wherein, The average difference between the first song and the songs in the first historical playback record is less than or equal to a second preset threshold. The average difference is determined based on the difference between the first song and some or all of the songs in the first historical playback record.

9. The method of claim 4, wherein, The average difference between the first song and the songs in the first historical playback record is less than or equal to a second preset threshold. The average difference is determined based on the difference between the first song and some or all of the songs in the first historical playback record.

10. The method of claim 5, wherein, The average difference between the first song and the songs in the first historical playback record is less than or equal to a second preset threshold. The average difference is determined based on the difference between the first song and some or all of the songs in the first historical playback record.

11. The method according to any one of claims 6-10, characterized in that, The method for calculating the average difference between the first song and the songs in the first historical playback record is as follows: wherein, is a difference degree of the first song and the i-th song in the first historical play record, and N is a number of songs in the first historical play record.

12. The method according to claim 11, characterized in that, The server stores song category information, and the The calculation method is as follows: In a case where the server confirms, based on the song category information, that the category of the first song is the same as the category of the i-th song in the first historical play record, the server is calculated by the following formula: in, Let N be the difference between the first song and the i-th song in the first playback history, and N be the number of songs in the first playback history. These are the tempo value, era value, and sadness / joy value of the first song, respectively. These are the tempo value, era value, and sadness / joy level value of the i-th song in the first historical playback record, respectively. If the server confirms, based on the song category information, that the category of the first song is different from the category of the i-th song in the first historical playback record, then... This is a preset fixed value.

13. The method according to claim 1, 2, 6, 7, 8, 9, 10, or 12, characterized in that, The first message includes information about the first song.

14. The method of claim 3, wherein, The first message includes information about the first song.

15. The method of claim 4, wherein, The first message includes information about the first song.

16. The method according to claim 5, characterized in that, The first message includes information about the first song.

17. The method of claim 11, wherein, The first message includes information about the first song.

18. The method according to claim 1, 2, 6, 7, 8, 9, 10, 12, 14, 15, 16, or 17, characterized in that, After the first electronic device displays the second historical playback record, the method further includes: The first electronic device displays a song recommendation list, which includes one or more songs of the same category as the first song.

19. The method according to claim 3, characterized in that, After the first electronic device displays the second historical playback record, the method further includes: The first electronic device displays a song recommendation list, which includes one or more songs of the same category as the first song.

20. The method according to claim 4, characterized in that, After the first electronic device displays the second historical playback record, the method further includes: The first electronic device displays a song recommendation list, which includes one or more songs of the same category as the first song.

21. The method according to claim 5, characterized in that, After the first electronic device displays the second historical playback record, the method further includes: The first electronic device displays a song recommendation list, which includes one or more songs of the same category as the first song.

22. The method of claim 11, wherein, After the first electronic device displays the second historical playback record, the method further includes: The first electronic device displays a song recommendation list, which includes one or more songs of the same category as the first song.

23. The method of claim 13, wherein, After the first electronic device displays the second historical playback record, the method further includes: The first electronic device displays a song recommendation list, which includes one or more songs of the same category as the first song.

24. The method according to claim 1 or 2 or 6 or 7 or 8 or 9 or 10 or 12 or 14 or 15 or 16 or 17 or 19 or 20 or 21 or 22 or 23, characterized in that, Before the first electronic device receives the first message sent by the server, the method further includes: The first electronic device detects the user's action of binding the second electronic device. In response to the action, the first electronic device obtains the device information of the second electronic device and sends the first account, the device information of the first electronic device, and the device information of the second electronic device to the server.

25. The method of claim 3, wherein, Before the first electronic device receives the first message sent by the server, the method further includes: The first electronic device detects the user's action of binding the second electronic device. In response to the action, the first electronic device obtains the device information of the second electronic device and sends the first account, the device information of the first electronic device, and the device information of the second electronic device to the server.

26. The method according to claim 4, characterized in that, Before the first electronic device receives the first message sent by the server, the method further includes: The first electronic device detects the user's action of binding the second electronic device. In response to the action, the first electronic device obtains the device information of the second electronic device and sends the first account, the device information of the first electronic device, and the device information of the second electronic device to the server.

27. The method according to claim 5, characterized in that, Before the first electronic device receives the first message sent by the server, the method further includes: The first electronic device detects the user's action of binding the second electronic device. In response to the action, the first electronic device obtains the device information of the second electronic device and sends the first account, the device information of the first electronic device, and the device information of the second electronic device to the server.

28. The method of claim 11, wherein, Before the first electronic device receives the first message sent by the server, the method further includes: The first electronic device detects the user's action of binding the second electronic device. In response to the action, the first electronic device obtains the device information of the second electronic device and sends the first account, the device information of the first electronic device, and the device information of the second electronic device to the server.

29. The method of claim 13, wherein, Before the first electronic device receives the first message sent by the server, the method further includes: The first electronic device detects the user's action of binding the second electronic device. In response to the action, the first electronic device obtains the device information of the second electronic device and sends the first account, the device information of the first electronic device, and the device information of the second electronic device to the server.

30. The method of claim 18, wherein, Before the first electronic device receives the first message sent by the server, the method further includes: The first electronic device detects the user's action of binding the second electronic device. In response to the action, the first electronic device obtains the device information of the second electronic device and sends the first account, the device information of the first electronic device, and the device information of the second electronic device to the server.

31. The method of claim 24, wherein, After the first electronic device detects the user's action of binding the second electronic device, the method further includes: When the first electronic device has location service permissions enabled, the first electronic device sends its own location information to the server.

32. The method of any one of claims 25-30, wherein, After the first electronic device detects the user's action of binding the second electronic device, the method further includes: When the first electronic device has location service permissions enabled, the first electronic device sends its own location information to the server.

33. An electronic device, comprising: The electronic device includes one or more processors and one or more memories; wherein the one or more memories are coupled to the one or more processors, and the one or more memories are used to store computer program code, the computer program code including computer instructions, which, when executed by the one or more processors, cause the electronic device to perform the method as described in any one of claims 1-32.

34. A computer storage medium, comprising, The computer storage medium stores a computer program, which includes program instructions that, when executed on an electronic device, cause the electronic device to perform the method as described in any one of claims 1-32.