Synchronous playback method and device
By responding to user function operations, stopping and displaying video data, and loading target video data at a certain time, the large-screen device can automatically enter the synchronous playback state, solving the problem of detection and recovery operations in the prior art, and improving operation convenience and flexibility.
Patent Information
- Application Number
- CN202110318571.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-03-25
- Publication Date
- 2025-06-27
- Estimated Expiration
- 2041-03-25
AI Technical Summary
In the prior art, large-screen devices need to detect recovery operations triggered by staff before they can re-enter the synchronous playback state, resulting in complex and inconvenient operations.
By responding to the user-triggered functional operations, stop playing video data, display the corresponding functions, and loading and playing predetermined target video data at a determined playback time, automatically enters the synchronous playback state.
It improves the convenience and flexibility of large-screen devices entering the synchronous playback state, reduces dependence on staff operations, and simplifies the process of synchronous playback.
Smart Images

Figure CN115134640B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of multimedia playback, and particularly to a synchronous playback method and device. Background Art
[0002] Multiple large-screen devices located in a local area network can play the same video synchronously. By adopting the synchronous playback method, the picture quality of different large-screen devices can be presented to users, and different visual effects can also be provided to users.
[0003] In related technologies, when implementing synchronous playback, any large-screen device in the local area network is used as the host for synchronous playback, and other large-screen devices in the local area network are used as slaves for synchronous playback. The host can send the video or video address to each slave. Each slave can receive the video and play it, or the slave can receive the video address and play the video according to the video address. Each large-screen device can present the corresponding function to the user according to the function operation triggered by the user. After that, the large-screen device needs to detect the recovery operation triggered by the staff so as to re-enter the synchronous playback state according to the recovery operation. Summary of the Invention
[0004] This application provides a synchronous playback method and device, which solves the problem in the prior art that the large-screen device needs to detect the recovery operation triggered by the staff to re-enter the synchronous playback state.
[0005] To achieve the above object, this application adopts the following technical solutions:
[0006] In a first aspect, a synchronous playback method is provided, and the method includes:
[0007] During the synchronous playback process, in response to the triggered function operation, stop playing the video data and present the function corresponding to the function operation;
[0008] Determine the playback time for resuming synchronous playback and the target video data, where the target video data is the video data required for synchronous playback at the playback time;
[0009] At the moment corresponding to the playback time, play the pre-loaded target video data.
[0010] In a first possible implementation manner of the first aspect, the playback time is the moment after a first preset duration from the trigger moment corresponding to the function operation.
[0011] In a second possible implementation manner of the first aspect, the determining the playback time for resuming synchronous playback and the target video data includes:
[0012] When the triggered function operation is detected, determine the target video data according to the synchronous playback duration, the video duration of each video data, and the total video duration, and use the moment when the target video data starts to be played as the playback time.
[0013] Based on the second possible implementation manner of the first aspect, in the third possible implementation manner of the first aspect, when the triggered function operation is detected, determining the target video data according to the synchronous playback duration, the video duration of each video data, and the total video duration includes:
[0014] When the triggered function operation is detected, determine the synchronous playback progress according to the synchronous playback duration and multiple total video durations;
[0015] According to the synchronous playback progress and the video duration of each video data, determine the current video data currently being played on other large-screen devices;
[0016] Use the video data that needs to be played after other large-screen devices finish playing the current video data as the target video data.
[0017] Based on the third possible implementation manner of the first aspect, in the fourth possible implementation manner of the first aspect, when the triggered function operation is detected, determining the synchronous playback progress according to the synchronous playback duration and multiple total video durations includes:
[0018] When the triggered function operation is detected, after a second preset duration, determine the synchronous playback progress according to the synchronous playback duration and multiple video durations of the video data.
[0019] Based on any of the above possible implementation manners of the first aspect, in the fifth possible implementation manner of the first aspect, playing the pre-loaded target video data at the moment corresponding to the playback time includes:
[0020] Before reaching the playback time, if no function operation is detected to be triggered again, play the pre-loaded target video data at the moment corresponding to the playback time.
[0021] Based on any of the above possible implementation manners of the first aspect, in the sixth possible implementation manner of the first aspect, before playing the pre-loaded target video data at the moment corresponding to the playback time, the method further includes:
[0022] When the duration from the playback time is the duration indicated by the maximum loading time, load the target video data, where the maximum loading time is the maximum duration required to load the target video data obtained through pre-testing.
[0023] Based on the sixth possible implementation manner of the first aspect, in the seventh possible implementation manner of the first aspect, playing the pre-loaded target video data at the moment corresponding to the playback time includes:
[0024] If the target video data is loaded completely, obtain the actual loading time of the target video data, where the actual loading time is the duration spent on loading the target video data;
[0025] Determine a delay time according to the maximum loading time and the actual loading time, where the delay time is the time difference between the maximum loading time and the actual loading time;
[0026] Play the target video data after the target video data is loaded completely and after the delay time has elapsed.
[0027] Based on the seventh possible implementation manner of the first aspect, in the eighth possible implementation manner of the first aspect, playing the pre-loaded target video data at the moment corresponding to the playback time further includes:
[0028] If the actual loading time is greater than or equal to the maximum loading time, play the target video data after the target video data is loaded completely.
[0029] Based on any of the above possible implementation manners of the first aspect, in the ninth possible implementation manner of the first aspect, before playing the pre-loaded target video data at the moment corresponding to the playback time, the method further includes:
[0030] At the trigger moment, set a timer for indicating playing the target video data according to the playback time, where the trigger moment is the moment when it is detected that the function operation is triggered;
[0031] If the timer runs out, determine that the local time has reached the playback time.
[0032] Based on any of the above possible implementation manners of the first aspect, in the tenth possible implementation manner of the first aspect, the playback time is determined according to the local time;
[0033] The method further includes:
[0034] Periodically obtain the Network Time Protocol (NTP) time;
[0035] Calibrate the local time according to the NTP time obtained each time.
[0036] In a second aspect, a synchronous playback device is provided, and the device includes:
[0037] A display module, configured to, during synchronous playback, in response to a triggered function operation, stop playing the video data and display a function corresponding to the function operation;
[0038] A determination module, configured to determine a playback time and target video data for resuming synchronous playback, where the target video data is the video data to be synchronously played at the playback time;
[0039] A playback module, configured to play the pre-loaded target video data at the moment corresponding to the playback time.
[0040] In a first possible implementation manner of the second aspect, the playback time is the moment after a first preset duration from the trigger moment corresponding to the function operation.
[0041] In a second possible implementation manner of the second aspect, the determination module is further configured to, when detecting the triggered function operation, determine the target video data according to the synchronous playback duration, the video duration of each video data, and the total video duration, and use the moment when the target video data starts to be played as the playback time.
[0042] Based on the second possible implementation manner of the second aspect, in a third possible implementation manner of the second aspect, it is further configured to, when detecting the triggered function operation, determine the synchronous playback progress according to the synchronous playback duration and multiple total video durations; determine the current video data currently being played by other large-screen devices according to the synchronous playback progress and the video duration of each video data; use the video data that needs to be played by other large-screen devices after playing the current video data as the target video data.
[0043] Based on the third possible implementation manner of the second aspect, in a fourth possible implementation manner of the second aspect, the determination module is further configured to, when detecting the triggered function operation, after a second preset duration, determine the synchronous playback progress according to the synchronous playback duration and multiple video data total durations.
[0044] Based on any of the above possible implementation manners of the second aspect, in a fifth possible implementation manner of the second aspect, the playback module is further configured to, before reaching the playback time, if no re-triggered function operation is detected, play the pre-loaded target video data at the moment corresponding to the playback time.
[0045] Based on any of the above possible implementation manners of the second aspect, in the sixth possible implementation manner of the second aspect, the apparatus further includes:
[0046] A loading module, configured to load the target video data when the duration from the playing time is the duration indicated by the maximum loading time, where the maximum loading time is the maximum duration required for loading the target video data obtained through pre-testing.
[0047] Based on the sixth possible implementation manner of the second aspect, in the seventh possible implementation manner of the second aspect, the playing module is further configured to, if the target video data is loaded completely, obtain the actual loading time of the target video data, where the actual loading time is the duration spent on loading the target video data; determine a delay time according to the maximum loading time and the actual loading time, where the delay time is the time difference between the maximum loading time and the actual loading time; and play the target video data after the target video data is loaded completely and after the delay time.
[0048] Based on the seventh possible implementation manner of the second aspect, in the eighth possible implementation manner of the second aspect, the playing module is further configured to, if the actual loading time is greater than or equal to the maximum loading time, play the target video data after the target video data is loaded completely.
[0049] Based on any of the above possible implementation manners of the second aspect, in the ninth possible implementation manner of the second aspect, the apparatus further includes:
[0050] A setting module, configured to set a timer for indicating playing the target video data according to the playing time at the triggering moment, where the triggering moment is the moment when it is detected that the function operation is triggered;
[0051] A timing module, configured to determine that the local time reaches the playing time if the timer finishes timing.
[0052] Based on any of the above possible implementation manners of the second aspect, in the tenth possible implementation manner of the second aspect, the playing time is determined according to the local time;
[0053] The apparatus further includes:
[0054] An obtaining module, configured to periodically obtain the Network Time Protocol (NTP) time;
[0055] A correcting module, configured to correct the local time according to the NTP time obtained each time.
[0056] In a third aspect, there is provided an electronic device, comprising: a processor configured to run a computer program stored in a memory to implement the synchronous playback method according to any one of the first aspect.
[0057] In a fourth aspect, there is provided a computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the synchronous playback method according to any one of the first aspect is implemented.
[0058] In a fifth aspect, there is provided a chip system, the chip system comprising a memory and a processor, the processor executing a computer program stored in the memory to implement the synchronous playback method according to any one of the first aspect.
[0059] Wherein, the chip system may be a single chip or a chip module composed of multiple chips.
[0060] For the synchronous playback method and apparatus provided in this application, the large-screen device corrects the local time through NTP time. If the large-screen device detects a function operation triggered by a user, it can stop playing video data, display the function corresponding to the function operation, and then determine the playback time for the next synchronous playback and the target video data to be played. Before the playback time arrives, the target video data is loaded. After that, the large-screen device can play the loaded target video data at the playback time and automatically enter the synchronous playback state, realizing that after the large-screen device shows the function to the user, it can automatically enter the synchronous playback state without triggering a recovery operation by the staff, which can improve the convenience and flexibility of the large-screen device entering the synchronous playback state. Description of the Drawings
[0061] Figure 1 is a system architecture diagram of a synchronous playback system related to a synchronous playback method provided by an embodiment of this application;
[0062] Figure 2 is a schematic flowchart of a synchronous playback method provided by an embodiment of this application;
[0063] Figure 3 is a structural block diagram of a synchronous playback apparatus provided by an embodiment of this application;
[0064] Figure 4 is a structural block diagram of another synchronous playback apparatus provided by an embodiment of this application;
[0065] Figure 5 is a structural block diagram of yet another synchronous playback apparatus provided by an embodiment of this application;
[0066] Figure 6It is a block diagram of another synchronous playback device provided by an embodiment of the present application;
[0067] Figure 7 It is a schematic structural diagram of an electronic device provided by an embodiment of the present application. Detailed implementation manners
[0068] In the following description, specific details such as specific system structures and technologies are presented for the purpose of illustration rather than limitation, so as to thoroughly understand the embodiments of the present application. However, those skilled in the art should clearly understand that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known methods and large-screen devices are omitted to avoid unnecessary details from interfering with the description of the present application.
[0069] The terms used in the following embodiments are only for the purpose of describing specific embodiments, and are not intended to limit the present application. As used in the specification and appended claims of the present application, the singular forms "a", "the", "above-mentioned", and "this" are also intended to include expressions such as "one or more", unless there is a clear indication to the contrary in the context.
[0070] First, an introduction is made to the synchronous playback system involved in a synchronous playback method provided by an embodiment of the present application. Refer to Figure 1 , Figure 1 The synchronous playback system shown in may include: a time server 110, a video server 120, and multiple large-screen devices 130.
[0071] Among them, each large-screen device 130 is respectively connected to the time server 110 and the video server 120. Moreover, each large-screen device 130 can be pre-installed with an application program for synchronous playback, and this application program is used to cache the video data that the large-screen device 130 needs to play. The time server 110 is used to calibrate the local time of each large-screen device 130, and the video server 120 is used to provide video data to each large-screen device 130.
[0072] During the synchronous playback process of multiple large-screen devices 130, each large-screen device 130 can cache multiple video data from the video server 120 through the pre-installed application program, and play the cached multiple video data in a loop according to the pre-set order, entering the synchronous playback state.
[0073] Moreover, for each large screen device 130, the large screen device 130 can periodically obtain the Network Time Protocol (NTP) time from the time server 110, and correct the local time of the large screen device 130 according to the NTP time, so that each large screen device 130 can play videos according to the corrected local time, improving the synchronization effect among the large screen devices 130.
[0074] If the large screen device 130 detects a function operation triggered by the user during the synchronous playback process, the large screen device 130 can exit from the synchronous playback state and display the function corresponding to the function operation to the user. Moreover, after the large screen device 130 finishes displaying the corresponding function, it can determine the synchronous playback progress of the videos played by other large screen devices 130 according to the corrected local time. The large screen device 130 can set a corresponding timer according to the synchronous playback progress of the videos played by other large screen devices 130, so that it can play the video after the timer expires, realizing synchronous playback with other large screen devices 130.
[0075] It should be noted that if the large screen device 130 detects a function operation triggered by the user again before the timer expires, the large screen device 130 can reset the timer according to a process similar to the above, so that it can play the video again after the timer expires and re-enter the synchronous playback state.
[0076] Moreover, the "video" mentioned in the embodiments of the present application can be the "video data" cached by the large screen device from the video server 120. In addition, each large screen device 130 in the synchronous playback system can perform synchronous playback in the above manner, which will not be elaborated here. The following takes any one large screen device 130 as an example to illustrate the process of synchronous playback of video data by each large screen device 130.
[0077] Figure 2 is a schematic flowchart of a synchronous playback method provided by an embodiment of the present application. As an example but not a limitation, this method can be applied to any of the above large screen devices. Refer to Figure 2 and the method includes:
[0078] Step 201, correct the local time of the large screen device according to the NTP time.
[0079] Among them, the NTP time is obtained by the large screen device from the time server.
[0080] During the process of synchronously playing video data, a large-screen device can send an NTP packet to a time server. The time server can, based on this NTP packet, feedback the NTP time to the large-screen device. Correspondingly, the large-screen device can correct its local time according to the NTP time feedback by the time server to obtain the corrected local time.
[0081] In an optional embodiment, when the large-screen device sends an NTP packet to the time server, it can add a first timestamp to the NTP packet based on the local time of the large-screen device. When the NTP packet arrives at the time server, the time server can add a second timestamp to the NTP packet according to the NTP time. After that, the time server can feedback the NTP packet to the large-screen device, and when the time server feedbacks the NTP packet to the large-screen device, the time server can also add a third timestamp to the NTP packet according to the NTP time. The large-screen device can receive the NTP packet sent by the time server and add a fourth timestamp to the processed NTP packet according to the local time of the large-screen device when receiving the processed NTP packet. After that, the large-screen device can correct its local time according to the first timestamp, the second timestamp, the third timestamp, and the fourth timestamp included in the processed NTP packet to obtain the corrected local time.
[0082] For example, the local time of the large-screen device is 10:59:00, and the NTP time of the time server is 11:00:00. If the time taken for the NTP packet to be transmitted from the large-screen device to the time server is 1 second, the time taken for the NTP packet to be feedback from the time server to the large-screen device is also 1 second, and the time taken for the time server to process the NTP packet is 1 second, then the time corresponding to the first timestamp T1 is 10:59:00, the time corresponding to the second timestamp T2 is 11:00:01, the time corresponding to the third timestamp T3 is 11:00:02, and the time corresponding to the fourth timestamp T4 is 10:59:03. Correspondingly, the time difference between the local time of the large-screen device and the NTP time is ΔT = ((T2 - T1) + (T3 - T4)) / 2, and the corrected local time is T0 = T4 + ΔT, that is, the corrected local time is 11:00:03.
[0083] It should be noted that in practical applications, the large-screen device can periodically correct its local time according to the NTP time to improve the accuracy of the local time of the large-screen device. For example, the large-screen device can obtain the NTP time every 15 minutes to correct its local time.
[0084] In addition, similar to the above process of calibrating the local time, each of the other large-screen devices in the synchronous playback system can calibrate the local time in the above manner, so that the local times of the large-screen devices are consistent, improving the unity of the local times of the large-screen devices, and thus improving the synchronization of video data playback on the large-screen devices.
[0085] Step 202: If a function operation triggered by the user is detected, determine the playback time and target video data for the next synchronous playback.
[0086] Among them, the target video data is the video data to be synchronously played at the playback time.
[0087] During the process of playing video data, the large-screen device can detect the function operation triggered by the user, and then, according to the function operation triggered by the user, stop playing the video data and display the function corresponding to the function operation to the user. Moreover, the large-screen device needs to determine the playback time for playing the target video data next time, so that after the large-screen device finishes displaying the function, it can continue to synchronously play the target video data with other large-screen devices at the determined playback time.
[0088] The ways for the large-screen device to determine the playback time can include but are not limited to the following several ways:
[0089] The first way: Determine the playback time according to the first preset duration and the trigger moment corresponding to the function operation.
[0090] After each time the large-screen device detects the function operation triggered by the user, it can wait for a period of time (referred to as the first preset duration here). If no function operation triggered by the user is received within this first preset duration, the large-screen device can synchronously play the video data again. Taking the moment corresponding to the function operation triggered by the user as the trigger moment, the large-screen device can calculate the playback time based on this trigger moment and the first preset duration, and the playback time is the moment after the trigger moment passes the first preset duration.
[0091] Among them, the first preset duration is preset and can be set according to the time required for the large-screen device to display different functions. For example, the first preset duration can be 20 seconds, 30 seconds, 45 seconds, or 60 seconds. The embodiment of the present application does not limit the time length of the first preset duration.
[0092] After determining the playback time based on this method, the large-screen device can, according to the playback time, combine with the total video duration obtained according to the video duration of each video to determine the synchronous playback progress corresponding to the playback time, that is, determine the video played by other large-screen devices at the playback time. Then, according to this synchronous playback progress, determine the target video data that the large-screen device needs to play at the playback time and the image frames of the target video data to be played, so as to achieve synchronous playback.
[0093] Among them, the above trigger time can be represented by the calibrated local time or the system time (in seconds) of the large-screen device. The system time (in seconds) can be the duration in seconds elapsed by the large-screen device since a certain moment. For example, if the large-screen device starts playing a video at 11:11:56 and reaches 11:16:56, that is, 5 minutes after the large-screen device starts playing the video, the system time of the large-screen device for 11:11:56 can be 300 seconds. Subsequently, an exemplary description will be given taking the system time (in seconds) as an example. Correspondingly, the system time (in seconds) can be the duration elapsed by the synchronous playback system since it starts synchronously playing video data, so the system time (in seconds) can also be the synchronous playback duration, which is used to represent the duration experienced by the synchronous playback system when entering the synchronous playback state.
[0094] In the above manner, the large-screen device can simply and conveniently determine the playback time quickly according to the trigger time and the pre-set first preset duration, without having to determine the videos currently being played on other large-screen devices. However, the playback time determined by the above first method is random. Correspondingly, the image frame corresponding to the playback time is random, that is, the image frame corresponding to the playback time may be any frame in the video data, and this image frame may be the first frame of the video data or the last frame of the video data. If the image frame corresponding to the playback time is the last frame of the video data, then the large-screen device plays the next video after playing this image frame. In this case, the continuity of the user watching the video is not very good. Considering this situation, in the embodiments of the present application, the playback time can be determined by the following second method.
[0095] Second: According to the trigger time corresponding to the function operation and the total video duration, determine the synchronous playback progress corresponding to the trigger time, and then according to the synchronous playback progress corresponding to the trigger time, combined with the video duration of each video, determine the next video data to be played on other large-screen devices, and then use the next video data to be played as the target video data and determine the time to start playing the target video data as the playback time.
[0096] Similar to the first method, during the process of the large-screen device synchronously playing video data, if it detects a function operation triggered by the user, it can obtain the system time (in seconds) so that the large-screen device can determine the synchronous playback progress corresponding to the trigger time according to this system time (in seconds), combined with the pre-determined total video duration.
[0097] After that, the large-screen device can determine the currently playing video (i.e., the current video data) and the next video to be played (i.e., the target video data) of other large-screen devices based on the video duration of each cached video and the obtained synchronous playback progress. Accordingly, the large-screen device can determine the moment when other large-screen devices finish playing the current video data according to the synchronous playback progress and the video duration of each video, that is, the moment to start playing the target video data, so as to determine the time difference between the currently obtained system time (in seconds) and the moment to start playing the target video data, and further determine the playback time based on this time difference.
[0098] For example, the system time (in seconds) ST obtained by the large-screen device when detecting the function operation triggered by the user is 450 seconds, so the trigger moment is 450 seconds, and the large-screen device has pre-cached 10 videos, and the video duration of each video is 20 seconds (VT i = 10, 0 < i < 11, i is an integer), accordingly, the total video duration of the 10 videos is SVT 10 = 20 * 10 = 200 seconds. After that, the large-screen device can calculate the synchronous playback progress P corresponding to the trigger moment of other large-screen devices by taking the remainder according to the system time (in seconds) ST and the total video duration SVT 10 = ST % SVT 10 = 50 seconds. After that, the large-screen device can calculate based on the total video duration SVT i of the first i videos (0 < i < 11, i is an integer), based on SVT i-1 < P, and SVT i > P, determine that the current video data is the 3rd video, and the time difference between the start time of playing the target video data (the 4th video) and the synchronous playback progress is SVT i - P = 10 seconds. Finally, the playback time can be determined as 450 + 10 = 460 seconds based on the time difference and the system time (in seconds) ST.
[0099] In practical applications, it may occur that the time difference between the system time (in seconds) and the time to play the next video data is too small. Then, after the large-screen device displays the corresponding function to the user, the large-screen device may play the next video data in a very short time. In order to display the function of the large-screen device to the user for a sufficient long time, the large-screen device can wait for a period of time (referred to as the second preset duration) after detecting the function operation triggered by the user before determining the playback time for playing the video data again.
[0100] For example, corresponding to the example of the second method described above, if the large-screen device detects a function operation triggered by the user when the system time (seconds) ST1 is 450 seconds, the large-screen device can, after a waiting duration of 15 seconds, when the system time (seconds) ST2 is 465 seconds, determine, according to the steps corresponding to the example in step 2022, that the current video data is the 4th video, the target video data is the 5th video, and the time difference between the start time of the 5th video and the synchronous playback progress is SVT i -P = 15 seconds. Finally, the playback time can be determined to be 465 + 15 = 480 seconds based on the time difference and the system time (seconds) ST2
[0101] It should be noted that for any one of the above first method and second method, the large-screen device can adopt the method of setting a timer to synchronously play videos at the playback time. That is, after the large-screen device determines the time difference between the current system time and the playback time, it can set a timer according to the duration corresponding to the time difference. After the timer finishes timing and reaches the determined playback time, the large-screen device can synchronously play the video
[0102] In addition, in actual applications, during the timing of the timer, the large-screen device may not detect a function operation triggered by the user again. Then the large-screen device can execute step 203 after the timer finishes timing. If during the timing of the timer, the large-screen device detects a function operation triggered by the user again, the large-screen device can execute step 202 again to re-determine the playback time and re-set the timer according to the function operation triggered by the user again
[0103] Corresponding to the first method of step 202, after the large-screen device detects a function operation triggered by the user again, it can re-set the timer according to the preset duration of the large-screen device, so that the timer starts timing again. If the user-triggered function operation is not detected again after the first preset duration, the large-screen device can execute step 203
[0104] For example, the system time (seconds) ST when the large-screen device detects a function operation triggered by the user again is 455 seconds, and the first preset duration of the large-screen device is 30 seconds. Then the large-screen device can re-set the timer to 30 seconds so that the large-screen device can enter the synchronous playback state again when the system time (seconds) ST reaches 485 seconds and continue to synchronously play the video data in the case of not detecting a function operation triggered by the user
[0105] Corresponding to the second method of step 202, when the large-screen device detects a function operation triggered by the user again, it can re-determine the time difference between the system time (seconds) corresponding to the trigger moment and the time to start playing the next video, and re-set the timer according to the time difference
[0106] Further, when the large-screen device detects the function operation triggered by the user again, it first waits for a preset second preset duration, and then determines the time difference between the current system time (seconds) and the time to start playing the next video, and resets the timer according to this time difference. Moreover, while waiting for the second preset duration, the large-screen device can also pause the timer set in step 202 to prevent the timer from continuing to count down and trigger the playback of video data.
[0107] Step 203: Pre-load the target video data according to the maximum loading time.
[0108] Among them, the maximum loading time is the maximum duration required for each large-screen device to load the target video data, and this duration can be obtained by pre-testing each large-screen device.
[0109] The large-screen device takes a certain amount of time to load the video data. The large-screen device can load the target video data when the duration from the playback time is equal to the duration indicated by the maximum loading time, so that the large-screen device can finish loading the target video data when it reaches the playback time, and play the target video data when it reaches the playback time, so as to achieve synchronous playback with other large-screen devices.
[0110] For example, when the large-screen device plays the target video data at the system time (seconds) of 460 seconds and the maximum loading time is 0.6 seconds, the large-screen device can start loading the target video data when the system time (seconds) reaches 459.4 seconds, that is, the large-screen device selects the target video data from multiple pre-cached video data, and then unpacks the target video data to obtain video compression coding data and audio compression coding data. After that, the large-screen device can decode the video compression coding data and the audio compression coding data to complete the loading of the target video data. After the loading is completed, the large-screen device can wait for the system time (seconds) to reach 460 seconds to play the decoded video data and audio data.
[0111] It should be noted that in step 202, the large-screen device can first set a timer for playing the target video data according to the time difference between the current system time (seconds) and the time to start playing the target video data, and then set a timer for loading the target video data according to the difference between the time difference and the maximum loading time. Correspondingly, during the execution of step 203, if the large-screen device detects that the timer for loading the target video data has timed out, it can start loading the target video data. If it then detects that the timer for playing the target video data has timed out, it can start playing the target video data.
[0112] Alternatively, after determining the time difference in step 202, the large-screen device sets a timer based on the difference between the time difference and the maximum loading time in combination with the maximum loading time. During the execution of step 203, if the large-screen device detects that the timer has expired, it can start loading the target video data and set the timer again according to the maximum loading time, so that the timing duration of the timer is equal to the duration indicated by the maximum loading time. After the timer set again expires, the large-screen device can start playing the target video data.
[0113] Of course, the large-screen device can also use other methods to set the timer to achieve early loading of the target video data by the large-screen device and synchronous playback of the target video data with other large-screen devices. The embodiments of the present application do not limit the number and duration of the timers.
[0114] In addition, in actual applications, other large-screen devices in the synchronous playback system can also set the timer in the above manner during the video playback process, so as to load the video data in advance and achieve synchronous playback. The embodiments of the present application will not elaborate on this.
[0115] Step 204: If no re-triggered function operation is detected before the playback time, play the loaded target video data.
[0116] After the large-screen device has passed the maximum loading time since it started loading the target video data, that is, when the timer expires, the large-screen device can start playing the target video data loaded in step 203. For example, if the large-screen device starts loading the target video data at the system time (seconds) of 459.4 seconds and the maximum loading time is 0.6 seconds, then after 0.6 seconds, that is, at the system time (seconds) of 460 seconds, the large-screen device starts playing the loaded target video data.
[0117] However, affected by the video data and the hardware of the large-screen device, the actual loading time of each large-screen device for loading video data may be different, and the time spent on loading video data may be greater than the maximum loading time. In this case, the large-screen device may not be able to play the video data normally. Considering this situation, in this embodiment, the video data can be played according to the actual loading time and the delay time of the large-screen device to improve the synchronization of video data playback among large-screen devices.
[0118] Among them, the actual loading time is the duration actually spent by the large-screen device to execute step 203 to load the target video data, and the delay time is the delay duration for the large-screen device to delay the playback of the target video data based on the actual loading time in order to achieve synchronous playback.
[0119] In an alternative embodiment, the large-screen device may first obtain the actual loading time of the large-screen device, and then determine the time difference between the maximum loading time and the actual loading time based on the maximum loading time obtained through pre-testing, and use this time difference as the delay time. Correspondingly, after the large-screen device finishes loading the target video data, it can play the loaded target video data after the delay time.
[0120] Among them, in the process of obtaining the actual loading time, the large-screen device may start timing when performing step 203, that is, start timing when starting to load the target video data, and end timing after finishing loading the target video data, and use the duration obtained by timing as the actual loading time. Alternatively, the large-screen device may obtain the system time (in seconds) after finishing loading the target video data, and then calculate the actual loading time in combination with the maximum loading time and the playback time determined in step 202. If the actual loading time of the large-screen device is less than the maximum loading time, the loaded target video data can be played after the delay time; if the actual loading time of the large-screen device is greater than or equal to the maximum loading time, the large-screen device can play the target video data after finishing loading the target video data.
[0121] For example, when the system time (in seconds) of the large-screen device is 459.4 seconds, it starts to load the target video data and finishes loading at 459.8 seconds. Then the actual loading time of the large-screen device is 0.4 seconds, and the pre-tested maximum loading time is 0.6 seconds. It can be determined that the delay time is 0.6 - 0.4 = 0.2 seconds. Correspondingly, after the large-screen device finishes loading the target video data, it waits for 0.2 seconds, that is, plays the target video data when the system time (in seconds) reaches 460 seconds.
[0122] Similarly, if another large-screen device also starts to load the target video data at the system time of 459.4 seconds and finishes loading at 459.26 seconds, then the actual loading time of the large-screen device is 0.26 seconds, and the pre-tested maximum loading time is 0.6 seconds. It can be determined that the delay time is 0.6 - 0.26 = 0.34 seconds. Correspondingly, after the large-screen device finishes loading the target video data, it waits for 0.34 seconds and can play the target video data when the system time (in seconds) reaches 460 seconds, so as to enable two large-screen devices to play the target video data at the same time and improve the synchronization of the large-screen devices playing the target video data.
[0123] It should be noted that if the large-screen device plays a video according to the actual loading time and the delay time, the large-screen device can set a timer in the following manner in steps 202 and 203: In step 202, the large-screen device can first obtain the time difference between the current system time (seconds) and the playback time, and then set a timer for loading the target video data according to the difference between the time difference and the maximum loading time. After that, the large-screen device determines the delay time based on the actual loading time and the maximum loading time, and then sets a timer based on the delay time. After the timer expires, the large-screen device can play the target video data. However, if the actual loading time is greater than or equal to the maximum loading time, the large-screen device no longer sets a timer based on the delay time, but plays the target video data after loading the target video data.
[0124] In summary, for the synchronous playback method provided by the embodiments of the present application, the large-screen device corrects the local time through NTP time. If the large-screen device detects a function operation triggered by the user, it can stop playing the video data, display the function corresponding to the function operation, and then determine the playback time for the next synchronous playback and the target video data to be played. Before the playback time arrives, the target video data is loaded. After that, the large-screen device can play the loaded target video data at the playback time and automatically enter the synchronous playback state, realizing that after the large-screen device displays the function to the user, it can automatically enter the synchronous playback state without the need for a recovery operation triggered by the staff, which can improve the convenience and flexibility of the large-screen device entering the synchronous playback state.
[0125] Moreover, by determining the delay time based on the actual loading time and the maximum loading time and then playing the target video data according to the delay time, the error of synchronous playback of video data by each large-screen device can be reduced, thereby improving the synchronization of synchronous playback by each large-screen device.
[0126] It should be understood that the magnitudes of the sequence numbers of the steps in the above embodiments do not mean the order of execution. The order of execution of each process should be determined according to its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
[0127] Corresponding to the synchronous playback method described in the above embodiments, Figure 3 is a structural block diagram of a synchronous playback device provided by the embodiments of the present application. For the sake of convenience of description, only the parts related to the embodiments of the present application are shown.
[0128] Referring to Figure 3 , the device includes:
[0129] A display module 301, configured to, during synchronous playback, in response to a triggered function operation, stop playing the video data and display the function corresponding to the function operation;
[0130] A determination module 302, configured to determine a playback time for resynchronized playback and target video data, where the target video data is the video data required for synchronized playback at the playback time;
[0131] A playback module 303, configured to play the pre-loaded target video data at the moment corresponding to the playback time.
[0132] Optionally, the playback time is the moment after a first preset duration from the trigger moment corresponding to the function operation.
[0133] Optionally, the determination module 302 is further configured to, when detecting the triggered function operation, determine the target video data according to the synchronized playback duration, the video duration of each piece of the video data, and the total video duration, and use the moment when starting to play the target video data as the playback time.
[0134] Optionally, the determination module 302 is further configured to, when detecting the triggered function operation, determine the synchronized playback progress according to the synchronized playback duration and multiple pieces of the total video duration; determine the current video data currently being played by other large-screen devices according to the synchronized playback progress and the video duration of each piece of the video data; and use the video data that needs to be played by other large-screen devices after finishing playing the current video data as the target video data.
[0135] Optionally, the determination module 302 is further configured to, after a second preset duration when detecting the triggered function operation, determine the synchronized playback progress according to the synchronized playback duration and multiple pieces of the video data's total video duration.
[0136] Optionally, the playback module 303 is further configured to, before reaching the playback time, if no re-triggered function operation is detected, play the pre-loaded target video data at the moment corresponding to the playback time.
[0137] Optionally, referring to Figure 4 , the apparatus further includes:
[0138] A loading module 304, configured to load the target video data when the duration from the playback time is the duration indicated by the maximum loading time, where the maximum loading time is the maximum duration required for pre-testing to load the target video data.
[0139] Optionally, the playback module 303 is further configured to, if the target video data is loaded completely, obtain the actual loading time of the target video data, where the actual loading time is the duration spent on loading the target video data; determine a delay time according to the maximum loading time and the actual loading time, where the delay time is the time difference between the maximum loading time and the actual loading time; and play the target video data after the target video data is loaded completely and after the delay time has elapsed.
[0140] Optionally, if the actual loading time is greater than or equal to the maximum loading time, the playback module 303 is further configured to play the target video data after the target video data is loaded completely.
[0141] Optionally, referring to Figure 5 , the apparatus further includes:
[0142] A setting module 305, configured to set a timer for indicating playing the target video data according to the playback time at the trigger moment, where the trigger moment is the moment when the function operation is detected to be triggered;
[0143] A timing module 306, configured to determine that the local time reaches the playback time if the timer expires.
[0144] Optionally, the playback time is determined according to the local time;
[0145] Referring to Figure 6 , the apparatus further includes:
[0146] An acquisition module 307, configured to periodically acquire the Network Time Protocol (NTP) time;
[0147] A calibration module 308, configured to calibrate the local time according to the NTP time acquired each time.
[0148] In summary, for the synchronous playback apparatus provided in the embodiments of the present application, the large-screen device calibrates the local time according to the NTP time. If the large-screen device detects a function operation triggered by a user, it can stop playing video data, display the function corresponding to the function operation, then determine the playback time for the next synchronous playback and the target video data to be played, load the target video data before the playback time arrives, and then the large-screen device can play the loaded target video data at the playback time and automatically enter the synchronous playback state, realizing that after the large-screen device shows the function to the user, it can automatically enter the synchronous playback state without the need for a staff member to trigger a recovery operation, which can improve the convenience and flexibility of the large-screen device to enter the synchronous playback state.
[0149] Moreover, by determining the delay time based on the actual loading time and the maximum loading time, and then playing the target video data according to the delay time, the error of synchronous video data playback on each large-screen device can be reduced, thereby improving the synchronization of synchronous playback on each large-screen device.
[0150] The following describes the electronic device involved in the embodiments of the present application. Please refer to Figure 7 , Figure 7 which is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
[0151] The electronic device may include a processor 710, an external memory interface 720, an internal memory 721, a universal serial bus (USB) interface 730, a charging management module 740, a power management module 741, a battery 742, an antenna 1, an antenna 2, a mobile communication module 750, a wireless communication module 760, an audio module 770, a speaker 770A, a receiver 770B, a microphone 770C, a headphone interface 770D, a sensor module 780, a button 790, a motor 791, an indicator 792, a camera 793, a display screen 794, and a subscriber identification module (SIM) card interface 795, etc. The sensor module 780 may include a pressure sensor 780A, a gyroscope sensor 780B, a barometric pressure sensor 780C, a magnetic sensor 780D, an acceleration sensor 780E, a distance sensor 780F, a proximity light sensor 780G, a fingerprint sensor 780H, a temperature sensor 780J, a touch sensor 780K, an ambient light sensor 780L, a bone conduction sensor 780M, etc.
[0152] It can be understood that the structure schematically shown in the embodiments of the present invention does not constitute a specific limitation on the electronic device. In other embodiments of the present application, the electronic device may include more or fewer components than shown, or combine certain components, or split certain components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0153] When the electronic device is a large-screen device, it may include the processor 710, the external memory interface 720, the internal memory 721, the universal serial bus (USB) interface 730, the charging management module 740, the power management module 741, the wireless communication module 760, the audio module 770, the speaker 770A, the receiver 770B, the microphone 770C, the camera 793, and the display screen 794 shown in the figure.
[0154] The processor 710 may include one or more processing units. For example, the processor 710 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units may be independent devices or integrated in one or more processors.
[0155] Among them, the controller may be the nerve center and command center of the electronic device. The controller may generate operation control signals according to the instruction operation code and timing signal to complete the control of fetching and executing instructions.
[0156] A memory may also be provided in the processor 710 for storing instructions and data. In some embodiments, the memory in the processor 710 is a cache memory. This memory may save the instructions or data that the processor 710 has just used or recycled. If the processor 710 needs to use the instruction or data again, it can directly call it from the memory. This avoids repeated accesses, reduces the waiting time of the processor 710, and thus improves the efficiency of the system.
[0157] In some embodiments, the processor 710 may include one or more interfaces. The 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.
[0158] The I2C interface is a two-way synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 710 may include multiple groups of I2C buses. The processor 710 may be respectively coupled to the touch sensor 780K, the charger, the flash, the camera 793, etc. through different I2C bus interfaces. For example, the processor 710 may be coupled to the touch sensor 780K through the I2C interface, enabling the processor 710 and the touch sensor 780K to communicate through the I2C bus interface to implement the touch function of the electronic device.
[0159] The I2S interface can be used for audio communication. In some embodiments, the processor 710 may include multiple groups of I2S buses. The processor 710 may be coupled to the audio module 770 through the I2S bus to implement communication between the processor 710 and the audio module 770. In some embodiments, the audio module 770 may transmit audio signals to the wireless communication module 760 through the I2S interface to implement the function of answering a call through a Bluetooth headset.
[0160] The PCM interface can also be used for audio communication to sample, quantize, and encode analog signals. In some embodiments, the audio module 770 and the wireless communication module 760 may be coupled through the PCM bus interface. In some embodiments, the audio module 770 may also transmit audio signals to the wireless communication module 760 through the PCM interface to implement the function of answering a call through a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.
[0161] The UART interface is a general-purpose serial data bus for asynchronous communication. This bus can be a two-way communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is usually used to connect the processor 710 and the wireless communication module 760. For example, the processor 710 communicates with the Bluetooth module in the wireless communication module 760 through the UART interface to implement the Bluetooth function. In some embodiments, the audio module 770 may transmit audio signals to the wireless communication module 760 through the UART interface to implement the function of playing music through a Bluetooth headset.
[0162] The MIPI interface can be used to connect the processor 710 to peripheral devices such as the display screen 794 and the camera 793. The MIPI interface includes a camera serial interface (CSI), a display serial interface (DSI), etc. In some embodiments, the processor 710 and the camera 793 communicate through the CSI interface to implement the shooting function of the electronic device. The processor 710 and the display screen 794 communicate through the DSI interface to implement the display function of the electronic device.
[0163] The GPIO interface can be configured by software. The GPIO interface can be configured as a control signal or a data signal. In some embodiments, the GPIO interface can be used to connect the processor 710 to the camera 793, the display screen 794, the wireless communication module 760, the audio module 770, the sensor module 780, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.
[0164] The USB interface 730 is an interface that conforms to the USB standard specification. Specifically, it can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface 730 can be used to connect a charger to charge the electronic device, and can also be used for data transmission between the electronic device and peripheral devices. It can also be used to connect headphones to play audio through the headphones. This interface can also be used to connect other electronic devices, such as AR devices, etc.
[0165] It can be understood that the interface connection relationship between the modules illustrated in the embodiments of the present invention is only for illustrative purposes and does not constitute a limitation on the structure of the electronic device. In other embodiments of the present application, the electronic device can also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.
[0166] The charging management module 740 is used to receive a charging input from a charger. Among them, the charger can be a wireless charger or a wired charger. In some embodiments of wired charging, the charging management module 740 can receive the charging input from the wired charger through the USB interface 730. In some embodiments of wireless charging, the charging management module 740 can receive the wireless charging input through the wireless charging coil of the electronic device. While the charging management module 740 charges the battery 742, it can also supply power to the electronic device through the power management module 741.
[0167] The power management module 741 is used to connect the battery 742, the charging management module 740, and the processor 710. The power management module 741 receives the inputs from the battery 742 and / or the charging management module 740, and supplies power to the processor 710, the internal memory 721, the external memory, the display screen 794, the camera 793, the wireless communication module 760, etc. The power management module 741 can also be used to monitor parameters such as the battery capacity, the number of battery cycles, and the battery health status (leakage, impedance). In some other embodiments, the power management module 741 can also be disposed in the processor 710. In some other embodiments, the power management module 741 and the charging management module 740 can also be disposed in the same device.
[0168] The wireless communication function of the electronic device can be implemented by the antenna 1, the antenna 2, the mobile communication module 750, the wireless communication module 760, the modulation and demodulation processor, and the baseband processor, etc.
[0169] The antenna 1 and the antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the electronic device can be used to cover a single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization rate of the antennas. For example, the antenna 1 can be multiplexed as the diversity antenna of the wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.
[0170] The mobile communication module 750 can provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc. applied to the electronic device. The mobile communication module 750 can include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 750 can receive electromagnetic waves by the antenna 1, and perform filtering, amplification, etc. on the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 750 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves through the antenna 1 and radiate it out. In some embodiments, at least some functional modules of the mobile communication module 750 can be disposed in the processor 710. In some embodiments, at least some functional modules of the mobile communication module 750 and at least some modules of the processor 710 can be disposed in the same device.
[0171] The modulation and demodulation processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. Subsequently, the demodulator transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 770A, the receiver 770B, etc.), or displays an image or video through the display screen 794. In some embodiments, the modulation and demodulation processor may be an independent device. In other embodiments, the modulation and demodulation processor may be independent of the processor 710 and be disposed in the same device as the mobile communication module 750 or other functional modules.
[0172] The wireless communication module 760 may provide solutions for wireless communications applied to the electronic device, 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), infrared technology (IR), etc. The wireless communication module 760 may be one or more devices integrating at least one communication processing module. The wireless communication module 760 receives electromagnetic waves via the antenna 2, performs frequency modulation and filtering processing on the electromagnetic wave signal, and transmits the processed signal to the processor 710. The wireless communication module 760 may also receive the signal to be transmitted from the processor 710, perform frequency modulation and amplification on it, and convert it into electromagnetic waves through the antenna 2 and radiate it out.
[0173] In some embodiments, antenna 1 of the electronic device is coupled to the mobile communication module 750, and antenna 2 is coupled to the wireless communication module 760, enabling the electronic device to communicate with the network and other devices through wireless communication technologies. The wireless communication technologies 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 technology, etc. The GNSS may include Global Positioning System (GPS), Global Navigation Satellite System (GLONASS), Beidou Navigation Satellite System (BDS), Quasi-Zenith Satellite System (QZSS), and / or Satellite Based Augmentation Systems (SBAS).
[0174] The electronic device realizes the display function through the GPU, the display screen 794, and the application processor, etc. The GPU is a microprocessor for image processing, connected to the display screen 794 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 710 may include one or more GPUs, which execute program instructions to generate or change display information.
[0175] The display screen 794 is used to display images, videos, etc. The display screen 794 includes a display panel. The display panel can 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 MiniLED, a MicroLED, a Micro-OLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the electronic device may include one or N display screens 794, where N is a positive integer greater than 1.
[0176] The electronic device can implement the shooting function through the ISP, the camera 793, the video codec, the GPU, the display screen 794, and the application processor, etc.
[0177] The ISP is used to process the data fed back by the camera 793. For example, when taking a photo, the shutter is opened, and the light passes through the lens and is transmitted to the camera sensor. The optical signal is converted into an electrical signal, and the camera sensor transmits the electrical signal to the ISP for processing and converts it into an image visible to the naked eye. The ISP can also optimize the noise, brightness, and skin color of the image through algorithms. The ISP can also optimize parameters such as the exposure and color temperature of the shooting scene. In some embodiments, the ISP can be set in the camera 793.
[0178] The camera 793 is used to capture static images or videos. The object generates an optical image through the lens and projects it onto the sensor. The sensor can be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The sensor converts the optical signal into an electrical signal, and then transmits the electrical signal to the ISP to convert it into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in standard RGB, YUV, etc. formats. In some embodiments, the electronic device may include one or N cameras 793, where N is a positive integer greater than 1.
[0179] The digital signal processor is used to process digital signals. Besides processing digital image signals, it can also process other digital signals. For example, when the electronic device selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy, etc.
[0180] The video codec is used to compress or decompress digital videos. The electronic device can support one or more video codecs. In this way, the electronic device can play or record videos in multiple coding formats, such as: Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
[0181] The NPU is a neural-network (NN) computing processor. By drawing on the structure of the biological neural network, such as the transmission mode between human brain neurons, it can quickly process the input information and can also continuously self-learn. Through the NPU, applications such as intelligent cognition of the electronic device can be realized, such as: image recognition, face recognition, speech recognition, text understanding, etc.
[0182] The external memory interface 720 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device. The external memory card communicates with the processor 710 through the external memory interface 720 to achieve the data storage function. For example, files such as music and videos are saved in the external memory card.
[0183] The internal memory 721 can be used to store computer-executable program code, and the executable program code includes instructions. The processor 710 executes various functional applications and data processing of the electronic device by running the instructions stored in the internal memory 721. The internal memory 721 can include a program storage area and a data storage area. Among them, the program storage area can store the operating system, application programs required for at least one function (such as the sound playback function, the image playback function, etc.). The data storage area can store the data created during the use of the electronic device (such as audio data, phone book, etc.). In addition, the internal memory 721 can include high-speed random access memory and can also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc.
[0184] The electronic device can implement audio functions through the audio module 770, speaker 770A, receiver 770B, microphone 770C, headphone jack 770D, and the application processor, etc. Such as music playback, recording, etc.
[0185] The audio module 770 is used to convert digital audio information into an analog audio signal for output, and is also used to convert an analog audio input into a digital audio signal. The audio module 770 can also be used for encoding and decoding audio signals. In some embodiments, the audio module 770 can be disposed in the processor 710, or some functional modules of the audio module 770 can be disposed in the processor 710.
[0186] The speaker 770A, also known as the "loudspeaker", is used to convert an audio electrical signal into a sound signal. The electronic device can listen to music or a hands-free call through the speaker 770A.
[0187] The receiver 770B, also known as the "earpiece", is used to convert an audio electrical signal into a sound signal. When the electronic device answers a call or a voice message, the voice can be listened to by bringing the receiver 770B close to the human ear.
[0188] The microphone 770C, also known as the "microphone" or "transmitter", is used to convert a sound signal into an electrical signal. When making a call or sending a voice message, the user can speak by bringing the mouth close to the microphone 770C to input the sound signal into the microphone 770C. The electronic device can be provided with at least one microphone 770C. In some other embodiments, the electronic device can be provided with two microphones 770C, which can not only collect sound signals but also implement a noise reduction function. In some other embodiments, the electronic device can also be provided with three, four or more microphones 770C to collect sound signals, reduce noise, identify the sound source, and implement functions such as directional recording.
[0189] The headphone jack 770D is used to connect a wired headphone. The headphone jack 770D can be a USB interface 730, or a 3.5 mm open mobile terminal platform (OMTP) standard interface, or a cellular telecommunications industry association of the USA (CTIA) standard interface.
[0190] The pressure sensor 780A is used to sense the pressure signal and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 780A can be set on the display screen 794. There are many types of pressure sensors 780A, such as resistive pressure sensors, inductive pressure sensors, capacitive pressure sensors, etc. The capacitive pressure sensor can be a parallel plate including at least two conductive materials. When a force acts on the pressure sensor 780A, the capacitance between the electrodes changes. The electronic device determines the intensity of the pressure based on the change in capacitance. When a touch operation acts on the display screen 794, the electronic device detects the touch operation intensity according to the pressure sensor 780A. The electronic device can also calculate the touch position according to the detection signal of the pressure sensor 780A. In some embodiments, touch operations acting on the same touch position but with different touch operation intensities can correspond to different operation instructions. For example: when a touch operation with a touch operation intensity less than the first pressure threshold acts on the short message application icon, an instruction to view the short message is executed. When a touch operation with a touch operation intensity greater than or equal to the first pressure threshold acts on the short message application icon, an instruction to create a new short message is executed.
[0191] The gyroscope sensor 780B can be used to determine the motion posture of the electronic device. In some embodiments, the angular velocity of the electronic device around three axes (i.e., x, y, and z axes) can be determined by the gyroscope sensor 780B. The gyroscope sensor 780B can be used for anti-shake shooting. For example, when the shutter is pressed, the gyroscope sensor 780B detects the angle of the electronic device shaking, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to offset the shaking of the electronic device through reverse movement to achieve anti-shake. The gyroscope sensor 780B can also be used for navigation and somatosensory game scenes.
[0192] The air pressure sensor 780C is used to measure air pressure. In some embodiments, the electronic device calculates the altitude through the air pressure value measured by the air pressure sensor 780C to assist in positioning and navigation.
[0193] The magnetic sensor 780D includes a Hall sensor. The electronic device can use the magnetic sensor 780D to detect the opening and closing of the flip leather case. In some embodiments, when the electronic device is a flip phone, the electronic device can detect the opening and closing of the flip cover according to the magnetic sensor 780D. Then, according to the detected opening and closing state of the leather case or the opening and closing state of the flip cover, the flip cover can be automatically unlocked.
[0194] The accelerometer 780E can detect the magnitude of the acceleration of an electronic device in all directions (generally three axes). When the electronic device is stationary, it can detect the magnitude and direction of gravity. It can also be used to identify the posture of the electronic device and is applied to applications such as horizontal and vertical screen switching and pedometers.
[0195] A distance sensor 780F is used to measure distance. The electronic device can measure distance through infrared or laser. In some embodiments, when shooting a scene, the electronic device can use the distance sensor 780F to measure distance to achieve fast focusing.
[0196] The proximity light sensor 780G may include, for example, a light-emitting diode (LED) and a light detector, such as a photodiode. The light-emitting diode may be an infrared light-emitting diode. The electronic device emits infrared light outward through the light-emitting diode. The electronic device uses the photodiode to detect the 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. When insufficient reflected light is detected, the electronic device can determine that there is no object near the electronic device. The electronic device can use the proximity light sensor 780G to detect when the user holds the electronic device close to the ear for a call, so as to automatically turn off the screen to save power. The proximity light sensor 780G can also be used in the holster mode and pocket mode for automatic unlocking and locking of the screen.
[0197] The ambient light sensor 780L is used to sense the ambient light brightness. The electronic device can adaptively adjust the brightness of the display screen 794 according to the sensed ambient light brightness. The ambient light sensor 780L can also be used to automatically adjust the white balance when taking pictures. The ambient light sensor 780L can also cooperate with the proximity light sensor 780G to detect whether the electronic device is in the pocket to prevent accidental touch.
[0198] The fingerprint sensor 780H is used to collect fingerprints. The electronic device can use the collected fingerprint characteristics to achieve fingerprint unlocking, access to the application lock, fingerprint photography, fingerprint answering of incoming calls, etc.
[0199] The temperature sensor 780J is used to detect temperature. In some embodiments, the electronic device executes a temperature processing strategy using the temperature detected by the temperature sensor 780J. For example, when the temperature reported by the temperature sensor 780J exceeds a threshold, the electronic device reduces the performance of the processor located near the temperature sensor 780J to reduce power consumption and implement thermal protection. In other embodiments, when the temperature is lower than another threshold, the electronic device heats the battery 742 to avoid abnormal shutdown of the electronic device caused by low temperature. In still other embodiments, when the temperature is lower than yet another threshold, the electronic device boosts the output voltage of the battery 742 to avoid abnormal shutdown caused by low temperature.
[0200] The touch sensor 780K, also known as the "touch panel". The touch sensor 780K can be disposed on the display screen 794. The touch sensor 780K and the display screen 794 together form a touch screen, also known as the "touch display screen". The touch sensor 780K is used to detect touch operations acting thereon or nearby. The touch sensor can transmit the detected touch operations to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 794. In some other embodiments, the touch sensor 780K can also be disposed on the surface of the electronic device, at a different position from that of the display screen 794.
[0201] The bone conduction sensor 780M can acquire vibration signals. In some embodiments, the bone conduction sensor 780M can acquire vibration signals of the vibrating bone mass of the human vocal part. The bone conduction sensor 780M can also contact the human pulse to receive blood pressure pulsation signals. In some embodiments, the bone conduction sensor 780M can also be disposed in the earphone to form a bone conduction earphone. The audio module 770 can analyze the voice signals based on the vibration signals of the vibrating bone mass of the human vocal part acquired by the bone conduction sensor 780M to implement the voice function. The application processor can analyze the heart rate information based on the blood pressure pulsation signals acquired by the bone conduction sensor 780M to implement the heart rate detection function.
[0202] The keys 790 include a power-on key, volume keys, etc. The keys 790 can be mechanical keys or touch keys. The electronic device can receive key inputs and generate key signal inputs related to the user settings and function controls of the electronic device.
[0203] The motor 791 can generate vibration prompts. The motor 791 can be used for incoming call vibration prompts and can also be used for touch vibration feedback. For example, touch operations acting on different applications (such as taking pictures, audio playing, etc.) can correspond to different vibration feedback effects. For touch operations acting on different areas of the display screen 794, the motor 791 can also correspond to different vibration feedback effects. Different application scenarios (such as time reminder, receiving messages, alarm clock, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also support customization.
[0204] The indicator 792 can be an indicator light and can be used to indicate the charging state, power change, and can also be used to indicate messages, missed calls, notifications, etc.
[0205] The SIM card interface 795 is used to connect to the SIM card. The SIM card can be inserted into or removed from the SIM card interface 795 to achieve contact and separation from the electronic device. The electronic device can support one or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 795 can support Nano SIM cards, Micro SIM cards, SIM cards, etc. Multiple cards can be inserted into the same SIM card interface 795 at the same time. The types of the multiple cards can be the same or different. The SIM card interface 795 can also be compatible with different types of SIM cards. The SIM card interface 795 can also be compatible with external memory cards. The electronic device interacts with the network through the SIM card to achieve functions such as calls and data communication. In some embodiments, the electronic device uses an eSIM, that is, an embedded SIM card. The eSIM card can be embedded in the electronic device and cannot be separated from the electronic device.
[0206] Those skilled in the art can clearly understand that for the convenience and conciseness of description, only the above division of each functional unit and module is used as an example for illustration. In actual applications, the above functions can be assigned to different functional units and modules according to needs, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiments can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of each functional unit and module are only for the convenience of mutual distinction and do not limit the protection scope of the present application. The specific working processes of the units and modules in the above system can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated here.
[0207] In the above embodiments, the descriptions of the various embodiments have their own emphases. For parts not detailed or recorded in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0208] Those of ordinary skill in the art can realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or by a combination of computer software and electronic hardware. Whether these functions are executed in hardware or software depends on the specific application and design constraints of the technical solution. Skilled professionals can use different methods for each specific application to implement the described functions, but such implementation should not be considered to exceed the scope of the present application.
[0209] In the embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections between each other can be through some interfaces. The indirect couplings or communication connections of the devices or units can be in electrical, mechanical or other forms.
[0210] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0211] In addition, each functional unit in the various embodiments of this application can be integrated into a processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.
[0212] If the above integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, to implement all or part of the processes in the above method embodiments of this application, a computer program can be used to instruct the relevant hardware to complete. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, the steps of the above various method embodiments can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in the form of source code, object code, executable file or some intermediate form, etc. The computer-readable medium can at least include: any entity or device that can carry the computer program code to the large-screen device, recording medium, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal, and software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disc, etc. In some jurisdictions, according to legislation and patent practice, the computer-readable medium cannot be an electrical carrier signal and a telecommunication signal.
[0213] Finally, it should be noted that the above is only a specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A synchronous playback method, characterized in that, The method includes: During the synchronous playback, in response to a triggered function operation, stop playing the video data and display the function corresponding to the function operation; Determine the playback time and target video data for resuming synchronous playback. The target video data is the video data required for synchronous playback at the playback time, including: when detecting the triggered function operation, determine the target video data according to the synchronous playback duration, the video duration of each video data, and the total video duration, and use the moment when starting to play the target video data as the playback time; wherein, the playback time is the moment after a first preset duration from the trigger moment corresponding to the function operation; After finishing displaying the function corresponding to the function operation, at the moment corresponding to the playback time, play the pre-loaded target video data.
2. The method according to claim 1, wherein The step of determining the target video data according to the synchronous playback duration, the video duration of each video data, and the total video duration when detecting the triggered function operation includes: When detecting the triggered function operation, determine the synchronous playback progress according to the synchronous playback duration and the total video duration of multiple video data; According to the synchronous playback progress and the video duration of each video data, determine the current video data currently being played on other large-screen devices; Use the video data that other large-screen devices need to play after finishing playing the current video data as the target video data.
3. The method according to claim 2, wherein The step of determining the synchronous playback progress according to the synchronous playback duration and the total video duration of multiple video data when detecting the triggered function operation includes: When detecting the triggered function operation, after a second preset duration, determine the synchronous playback progress according to the synchronous playback duration and the total video duration of multiple video data.
4. The method according to any one of claims 1 to 3, characterized in that, The step of playing the pre-loaded target video data at the moment corresponding to the playback time includes: Before reaching the playback time, if no re-triggered function operation is detected, at the moment corresponding to the playback time, play the pre-loaded target video data.
5. The method according to any one of claims 1 to 3, characterized in that, Before playing the pre-loaded target video data at the moment corresponding to the playback time, the method further includes: At a duration from the playback time indicated by the maximum loading time, load the target video data, where the maximum loading time is the maximum duration required for pre-testing to load the target video data.
6. The method according to claim 5, characterized in that, The step of playing the pre-loaded target video data at the moment corresponding to the playback time includes: If the target video data is loaded, obtain the actual loading time of the target video data, where the actual loading time is the duration spent on loading the target video data; According to the maximum loading time and the actual loading time, determine the delay time, where the delay time is the time difference between the maximum loading time and the actual loading time; After loading the target video data and after the delay time, play the target video data.
7. The method according to claim 6, wherein At the moment corresponding to the playing time, playing the pre-loaded target video data further includes: If the actual loading time is greater than or equal to the maximum loading time, after the target video data is loaded, play the target video data.
8. The method according to any one of claims 1 to 7, characterized in that, Before playing the pre-loaded target video data at the moment corresponding to the playing time, the method further includes: At the trigger moment, set a timer for indicating the playing of the target video data according to the playing time, where the trigger moment is the moment when the function operation is detected to be triggered; If the timer expires, determine that the local time has reached the playing time.
9. The method according to any one of claims 1 to 7, characterized in that The playing time is determined according to the local time; The method further includes: Periodically obtain the Network Time Protocol (NTP) time; According to the NTP time obtained each time, correct the local time.
10. A synchronous playback device, characterized in that, The device includes: A display module, configured to, during the synchronous playing process, in response to a triggered function operation, stop playing the video data and display the function corresponding to the function operation; A determination module, configured to determine the playing time and the target video data for re-synchronous playing, where the target video data is the video data required for synchronous playing at the playing time, including: when the triggered function operation is detected, determine the target video data according to the synchronous playing duration, the video duration of each video data, and the total video duration, and use the moment when the target video data starts to be played as the playing time; the playing time is the moment after a first preset duration from the trigger moment corresponding to the function operation; A playing module, configured to, after the function corresponding to the function operation is displayed, play the pre-loaded target video data at the moment corresponding to the playing time.
11. An electronic device, characterized in that, including: A processor, which is configured to run a computer program stored in a memory to implement the method according to any one of claims 1 to 9.
12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Pause synchronization method and device, storage medium, client and multi-device playing system
CN112188258A