A video playing method and device
By generating a list of fitness movements and drawing a progress bar for video playback, the problem of insufficient flexibility in existing fitness video playback methods is solved, enabling flexible control of fitness movements and improving the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-27
- Publication Date
- 2026-03-03
AI Technical Summary
The current way fitness videos are played is not very flexible, making it difficult for users to control the repetition or skipping of fitness movements, which affects training enthusiasm and interest.
A video playback method is provided, which generates a list of fitness movements by obtaining the dotted file of the media resources and draws a progress bar. Each sub-progress bar in the progress bar corresponds one-to-one with a fitness movement, allowing users to flexibly control the playback of fitness movements by controlling the sub-progress bars.
It improves the playback flexibility of fitness movements in fitness videos, enhancing users' sense of control and interest in training.
Smart Images

Figure CN115942008B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of audio and video processing technology, and in particular to a video playback method and device. Background Technology
[0002] With the development of various online video platforms and the increasing awareness of fitness among the public, more and more people are choosing to exercise at home by following fitness videos on online video platforms.
[0003] Currently, most fitness videos include multiple exercises, played in a preset order. During practice, if a user wants to repeat or skip a particular exercise, they must manually adjust the video's progress bar using a control device (such as a remote control) to jump to the start of the next exercise. This method of video playback is inflexible and can negatively impact user engagement and interest in training. Summary of the Invention
[0004] To address the aforementioned technical problems, this disclosure provides a video playback method and device to improve the flexibility of video playback.
[0005] The technical solution disclosed herein is as follows:
[0006] In a first aspect, this disclosure provides a video playback method, including responding to a user's first message to obtain media resources and a tracking file for the media resources, the first message being used to request playback of the media resources, the media resources being used to display multiple fitness movements, and the tracking file including movement information of the multiple fitness movements corresponding to the media resources; parsing the tracking file to generate a list of fitness movements corresponding to the media resources, the fitness movement list including movement information of multiple fitness movements; drawing a progress bar corresponding to the media resources based on the fitness movement list, the progress bar including multiple sub-progress bars, each sub-progress bar corresponding to a fitness movement; and playing the media resources based on the media resources and the progress bars corresponding to the media resources.
[0007] Combining the first aspect and the aforementioned possible implementations, in another possible implementation, the motion information of multiple fitness movements includes the start time and end time of the fitness movements; a sub-progress bar in the progress bar displays the start time and end time of the fitness movements; playing media resources includes: setting a first fitness movement, which is the first fitness movement displayed in the media resource; playing the i-th fitness movement, where the initial value of i is 1; and displaying a prompt message when the playback progress of the i-th fitness movement reaches its end time, the prompt message including a prompt character, a first control, and a second control. The prompt text displays the score for the i-th fitness exercise and prompts the user to choose between the first and second controls whether to repeat the i-th fitness exercise. The first control indicates repeating the i-th fitness exercise, and the second control indicates not repeating the i-th fitness exercise. Upon receiving the user's second message, the playback progress of the i-th fitness exercise is reverted to the start time of the i-th fitness exercise. The second message indicates that the user has selected the first control. Upon receiving the user's third message, it is determined whether i is less than N, where N is the total number of fitness exercises. The third message indicates that the user has selected the second control. If i < N, i is incremented by 1, and the playback of the i-th fitness exercise continues.
[0008] In combination with the first aspect and the above possible implementations, in another possible implementation, the display device includes a progress bar control. The progress bar control is used to set a skip option and a loop option. The skip option is used to set whether to skip the sub-progress bar, and the loop option is used to set the number of times the sub-progress bar plays.
[0009] Combining the first aspect and the above possible implementations, in another possible implementation, the motion information of multiple fitness movements includes the name of the fitness movement, the start time of the fitness movement, and the end time of the fitness movement; the progress bar includes a horizontal progress bar or a vertical progress bar, the horizontal progress bar includes multiple sub-horizontal progress bars, the sub-horizontal progress bar includes the name of the sub-horizontal progress bar, the playback progress of the sub-horizontal progress bar, and the playback time of the sub-horizontal progress bar; the vertical progress bar includes multiple sub-vertical progress bars, the sub-vertical progress bar includes the name of the sub-vertical progress bar, the playback progress of the sub-vertical progress bar, and the total playback duration of the sub-vertical progress bar.
[0010] Combining the first aspect and the above possible implementations, in another possible implementation, when the user's third message is received, determining whether i is less than N includes: when the user's third message is received, determining whether the loop count indicated by the loop option of the i-th fitness action is greater than 1; when the loop count of the i-th fitness action is greater than or equal to 1, controlling the playback progress of the i-th fitness action to revert to the start time of the i-th fitness action, and decrementing the loop count by 1; when the loop count of the i-th fitness action is less than 1, determining whether i is less than N.
[0011] In conjunction with the first aspect and the above possible implementations, in another possible implementation, after playing the i-th fitness movement, the method further includes: when the playback status of the i-th fitness movement meets preset conditions, determining whether i is less than or equal to N, the preset conditions including the playback progress of the i-th fitness movement reaching the end time of the i-th fitness movement or receiving an instruction to trigger the skipping of the i-th fitness movement; if i < N, incrementing i by 1; if the flag bit of the skip option of the i-th fitness movement is a first value, continuing to determine whether i is less than or equal to N, the flag bit including a first value and a second value, the first value being used to indicate skipping the i-th fitness movement, and the second value being used to indicate not skipping the i-th fitness movement; if the flag bit of the skip option of the i-th fitness movement is a second value, continuing to play the i-th fitness movement.
[0012] Combining the first aspect and the above possible implementations, in another possible implementation, playing media resources includes: polling the playback progress of the media resources and refreshing the interface display result of the progress bar corresponding to the media resources.
[0013] Combining the first aspect and the above possible implementations, in another possible implementation, the background colors of the interfaces for the multiple sub-progress bars are different.
[0014] Secondly, this disclosure provides a display device, which includes an acquisition module and a processing unit. The acquisition unit is used to acquire media resources and a dotted file of the media resources in response to a first message from a user. The first message is used to request playback of the media resources. The media resources are used to display multiple fitness movements, and the dotted file includes movement information of the multiple fitness movements corresponding to the media resources. The processing unit is used to parse the dotted file and generate a list of fitness movements corresponding to the media resources. The list of fitness movements includes movement information of multiple fitness movements. The processing unit is also used to draw a progress bar corresponding to the media resources based on the list of fitness movements. The progress bar includes multiple sub-progress bars, and each sub-progress bar corresponds one-to-one with a fitness movement. The processing unit is also used to play the media resources based on the media resources and the progress bars corresponding to the media resources.
[0015] Combining the second aspect and the aforementioned possible implementations, in another possible implementation, the action information of multiple fitness movements includes the start time and end time of the fitness movements; the sub-progress bars in the progress bar display the start time and end time of the fitness movements; the processing unit is also used to set a first fitness movement, which is the first fitness movement displayed in the media resource; play the i-th fitness movement, with an initial value of 1; and when the playback progress of the i-th fitness movement reaches the end time of the i-th fitness movement, display a prompt message, which includes a prompt character, a first control, and a second control. The prompt text displays the score for the i-th fitness exercise and prompts the user to choose between the first and second controls whether to repeat the i-th fitness exercise. The first control indicates repeating the i-th fitness exercise, and the second control indicates not repeating the i-th fitness exercise. Upon receiving the user's second message, the playback progress of the i-th fitness exercise is reverted to the start time of the i-th fitness exercise. The second message indicates that the user has selected the first control. Upon receiving the user's third message, it is determined whether i is less than N, where N is the total number of fitness exercises. The third message indicates that the user has selected the second control. If i < N, i is incremented by 1, and playback of the i-th fitness exercise continues.
[0016] In conjunction with the second aspect and the above possible implementations, in another possible implementation, the processing unit is further configured to, upon receiving the user's third message, determine whether the loop count indicated by the loop option of the i-th fitness movement is greater than 1; if the loop count of the i-th fitness movement is greater than or equal to 1, control the playback progress of the i-th fitness movement to revert to the start time of the i-th fitness movement, and decrement the loop count by 1; if the loop count of the i-th fitness movement is less than 1, determine whether i is less than N.
[0017] In conjunction with the second aspect and the above possible implementations, in another possible implementation, the processing unit is further configured to determine whether i is less than or equal to N when the playback status of the i-th fitness movement meets preset conditions. The preset conditions include the playback progress of the i-th fitness movement reaching the end time of the i-th fitness movement or receiving an instruction to trigger the skipping of the i-th fitness movement. If i < N, i is incremented by 1. If the flag bit of the skip option of the i-th fitness movement is a first value, the unit continues to determine whether i is less than or equal to N. The flag bit includes a first value and a second value. The first value is used to indicate skipping the i-th fitness movement, and the second value is used to indicate not skipping the i-th fitness movement. If the flag bit of the skip option of the i-th fitness movement is a second value, the unit continues to play the i-th fitness movement.
[0018] In conjunction with the second aspect and the above possible implementations, in another possible implementation, the processing unit is also used to poll the playback progress of the media resource and refresh the interface display result of the progress bar corresponding to the media resource.
[0019] Thirdly, this disclosure provides an electronic device, including: a memory and a processor, wherein the memory is used to store a computer program; and the processor is used to cause the electronic device to implement the video playback method as provided in any of the first aspects when executing the computer program.
[0020] Fourthly, the present invention provides a computer-readable storage medium, comprising: storing a computer program on the computer-readable storage medium, wherein the computer program is executed by a processor using a video playback method as provided in any of the first aspects.
[0021] Fifthly, the present invention provides a computer program product that, when run on a computer, causes the computer to execute a video playback method as provided in any of the first aspects.
[0022] It should be noted that the aforementioned computer instructions may be stored, in whole or in part, on the first computer-readable storage medium. The first computer-readable storage medium may be packaged together with the server's processor or may be packaged separately from the server's processor; this disclosure does not impose any limitations on this.
[0023] The descriptions of the second to fifth aspects in this disclosure can be referenced to the detailed description of the first aspect; and the beneficial effects described in the second to fifth aspects can be referenced to the analysis of the beneficial effects of the first aspect, which will not be repeated here.
[0024] In this disclosure, the names of the aforementioned display devices do not limit the devices or functional modules themselves. In actual implementation, these devices or functional modules may appear under other names. As long as the functions of each device or functional module are similar to those of this disclosure, they fall within the scope of the claims of this disclosure and their equivalents.
[0025] These or other aspects of this disclosure will become more readily apparent in the following description.
[0026] The technical solution provided in this disclosure has the following advantages compared with the prior art: The video playback method provided in this application can respond to the user's first message, obtain media resources and their tracking files, then generate a list of fitness movements based on the tracking files, and then draw a progress bar based on the list of fitness movements. The progress bar has multiple sub-progress bars, each corresponding one-to-one with a fitness movement. The playback of each fitness movement can then be controlled by controlling the sub-progress bars, improving the flexibility of playing fitness movements in the media resources. Attached Figure Description
[0027] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.
[0028] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0029] Figure 1 A simplified schematic diagram illustrating a system architecture applicable to embodiments of this application;
[0030] Figure 2 This is a schematic diagram of the structure of a control device provided in an embodiment of this application;
[0031] Figure 3 This is a schematic diagram of the hardware structure of a display device provided in an embodiment of this application;
[0032] Figure 4 This is a schematic diagram of the software structure of a display device provided in an embodiment of this application;
[0033] Figure 5 This is one of the flowcharts illustrating a video playback method provided in an embodiment of this application;
[0034] Figure 6 A scenario diagram provided for an embodiment of this application;
[0035] Figure 7 A schematic diagram illustrating the display of a horizontal progress bar provided in an embodiment of this application;
[0036] Figure 8 A schematic diagram illustrating the display of a vertical progress bar provided in an embodiment of this application;
[0037] Figure 9 A display effect diagram of a horizontal progress bar provided for an embodiment of this application;
[0038] Figure 10 This is a second schematic flowchart illustrating a video playback method provided in an embodiment of this application.
[0039] Figure 11 A schematic diagram illustrating another horizontal progress bar provided in an embodiment of this application;
[0040] Figure 12 The third schematic flowchart of a video playback method provided in this application embodiment;
[0041] Figure 13 The fourth flowchart illustrates a video playback method provided in this application embodiment;
[0042] Figure 14Fifth of a flowchart illustrating a video playback method provided in this application embodiment;
[0043] Figure 15 This is a schematic diagram illustrating the composition of a display device provided in an embodiment of this application;
[0044] Figure 16 This is a schematic diagram of a chip system provided in an embodiment of this application. Detailed Implementation
[0045] To make the objectives and implementation methods of this application clearer, the exemplary implementation methods of this application will be clearly and completely described below with reference to the accompanying drawings of the exemplary embodiments of this application. Obviously, the exemplary embodiments described are only some embodiments of this application, and not all embodiments.
[0046] It should be noted that the brief descriptions of terms in this application are only for the convenience of understanding the embodiments described below, and are not intended to limit the embodiments of this application. Unless otherwise stated, these terms should be understood in their ordinary and common meaning.
[0047] The terms "first," "second," "third," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar or related objects or entities, and do not necessarily imply a specific order or sequence, unless otherwise specified. It should be understood that such terms are interchangeable where appropriate.
[0048] The terms “comprising” and “having” and any variations thereof in this application are intended to cover but not exclude inclusion, for example, a product or device that includes a series of components is not necessarily limited to all the components that are clearly listed, but may include other components that are not clearly listed or that are inherent to such product or device.
[0049] In this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this disclosure generally indicates that the preceding and following related objects have an "or" relationship.
[0050] Fitness plays a vital role in maintaining personal health and well-being. For many, fitness means going to a gym and participating in workouts guided by a trainer (e.g., a personal trainer or fitness instructor). However, due to other commitments in daily life (e.g., work, family obligations), going to a gym to train with a professional trainer requires significant time and financial investment.
[0051] Based on this, online fitness emerged, which refers to the physical activity of a person in the real world being visualized through information technology and displayed as the movements of a virtual character on a computer or television. In other words, users can exercise at home by watching fitness videos on online video platforms on their computers or televisions. This allows users to exercise at home without having to go to a gym.
[0052] Typically, a fitness video includes multiple exercises, and current methods play them sequentially. If a user has other playback needs, such as skipping a specific exercise or looping it, they can only manually locate the start or end point of the exercise using a control device (e.g., mouse, keyboard, or remote control) and then execute the corresponding action. This significantly reduces the flexibility of video playback, thus impacting user engagement and interest in training.
[0053] To address the aforementioned issues, this application provides a video playback method and device. The method responds to a user's first message by acquiring media resources and their tracking files. Then, it generates a list of fitness exercises based on the tracking files. Next, it draws a progress bar based on the list of fitness exercises, with multiple sub-progress bars, each corresponding to a specific fitness exercise. The playback of each fitness exercise can then be controlled by manipulating these sub-progress bars, improving the flexibility of playing fitness exercises from the media resources.
[0054] The video data processing method provided in the embodiments of this application is described below. Those skilled in the art will recognize that, with technological advancements and the emergence of new scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0055] In this embodiment of the application, the electronic device executing the dialogue data processing method of this embodiment can be a server or a display device. Figure 1 The diagram illustrates an operational scenario between a display device and a control device according to an embodiment. Figure 1 As shown, the user can operate the display device 200 through the smart device 300 or the control device 100.
[0056] In some embodiments, the control device 100 may be a remote control. Communication between the remote control and the display device includes infrared protocol communication, Bluetooth protocol communication, and other short-range communication methods, controlling the display device 200 wirelessly or via wired means. Users can input user commands through buttons on the remote control, voice input, control panel input, etc., to control the display device 200. For example, users can input corresponding control commands through volume up / down buttons, channel control buttons, up / down / left / right movement buttons, voice input buttons, menu buttons, power buttons, etc., on the remote control to achieve the function of controlling the display device 200. In this embodiment, users can also select corresponding text input for the display device 200 through buttons.
[0057] In some embodiments, a smart device 300 (such as a mobile terminal, tablet computer, computer, laptop computer, and other smart terminals) may also be used to control the display device 200. For example, an application running on the smart device may be used to control the display device 200. This application can be configured to associate with the smart terminal and present various intuitive controls to the user in the user interface (UI).
[0058] In some embodiments, the display device 200 may receive instructions not through the aforementioned smart device or control device, but through touch, gesture, or voice.
[0059] In some embodiments, the display device 200 can also be controlled in ways other than the control device 100 and the smart device 300. For example, it can be controlled by directly receiving the user's voice commands through a module configured inside the display device 200 for acquiring voice commands, or it can be controlled by receiving the user's voice commands through a voice control device set outside the display device 200.
[0060] In some embodiments, the display device 200 also communicates with the server 400 via various communication methods. The display device 200 may be allowed to communicate via a local area network (LAN), a wireless local area network (WLAN), and other networks. The server 400 can provide the display device 200 with various content and interactive features. For example, the smart device 200 interacts by sending and receiving information, as well as through electronic program guides (EPGs), receiving software updates, or accessing a remotely stored digital media library. The server 400 can be a cluster or multiple clusters, and may include one or more types of servers. The server 400 provides the display device 200 with other network services such as video-on-demand and advertising services.
[0061] In some embodiments, the display device 200 may be a liquid crystal display, an OLED display, or a projection smart device. This application does not limit the specific type, size, or resolution of the display device 200. Those skilled in the art will understand that the performance and configuration of the display device 200 can be modified according to actual needs. In addition to providing broadcast television reception functionality, the display device 200 may also include intelligent network television functionality with computer support, including but not limited to network television, smart television, and Internet Protocol television (IPTV).
[0062] Figure 2 An exemplary block diagram of the configuration of the control device 100 according to an exemplary embodiment is shown. Figure 2 As shown, the control device 100 includes a controller 110, a communication interface 130, a user input / output interface 140, a memory, and a power supply. The control device 100 can receive user input operation commands and convert the operation commands into commands that the display device 200 can recognize and respond to, thereby acting as an intermediary for interaction between the user and the display device 200.
[0063] For example, taking a television set as the display device 200, Figure 3 A schematic diagram of the structure of a display device 200 provided in an embodiment of this application is shown.
[0064] like Figure 3 The display device 200 includes at least one of a tuner 210, a communicator 220, a detector 230, an external device interface 240, a controller 250, a display 260, an audio output interface 270, a memory, a power supply, and a user interface 280.
[0065] In some embodiments, the controller includes a processor, a video processor, an audio processor, a graphics processor, RAM, ROM, and a first interface to an nth interface for input / output.
[0066] The display 260 includes a display screen assembly for presenting images, a driving assembly for driving image display, a component for receiving image signals from the controller output, and a user interface (UI) for displaying video content, image content, and a menu control interface.
[0067] The display 260 can be an LCD display, an OLED display, or a projection display, and can also be a projection device and a projection screen.
[0068] The communicator 220 is a component used to communicate with external devices or servers according to various communication protocol types. For example, the communicator may include at least one of the following: a Wi-Fi module, a Bluetooth module, a wired Ethernet module, other network communication protocol chips or near-field communication protocol chips, and an infrared receiver. The display device 200 can establish the transmission and reception of control signals and data signals with the external control device 100 or the server 400 through the communicator 220.
[0069] User interface 280 can be used to receive control signals from control device 100 (such as infrared remote control).
[0070] Detector 230 is used to collect signals from the external environment or to interact with the external environment. For example, detector 230 includes a light receiver, a sensor for collecting ambient light intensity; or, detector 230 includes an image acquisition device, such as a camera, which can be used to collect external environmental scenes, user attributes, or user interaction gestures; or, detector 230 includes a sound acquisition device, such as a microphone, for receiving external sounds.
[0071] The external device interface 240 may include, but is not limited to, one or more of the following: High Definition Multimedia Interface (HDMI), analog or high-definition component input interface (component), composite video input interface (CVBS), USB input interface (USB), RGB port, etc. It may also be a composite input / output interface formed by multiple interfaces mentioned above.
[0072] The tuner / demodulator 210 receives broadcast television signals via wired or wireless means, and demodulates audio and video signals, such as EPG data signals, from multiple wireless or wired broadcast television signals.
[0073] In some embodiments, the controller 250 and the tuner 210 may be located in different separate devices, that is, the tuner 210 may also be located in an external device of the main device where the controller 250 is located, such as an external set-top box.
[0074] The controller 250 controls the operation of the display device and responds to user operations through various software control programs stored in the memory. The controller 250 controls the overall operation of the display device 200. For example, in response to receiving a user command to select a UI object to display on the monitor 260, the controller 250 can execute operations related to the object selected by the user command.
[0075] In some embodiments, the controller includes at least one of a central processing unit (CPU), a video processor, an audio processor, a graphics processing unit (GPU), RAM (random access memory), ROM (read-only memory), a first to an nth interface for input / output, a communication bus, etc.
[0076] Users can input commands through a graphical user interface (GUI) displayed on the monitor 260, and the user input interface receives the user input commands through the GUI. Alternatively, users can input commands by entering specific sounds or gestures, and the user input interface receives the user input commands by recognizing the sounds or gestures through sensors.
[0077] A "user interface" is the medium through which an application or operating system interacts and exchanges information with the user. It converts information from its internal form to a form that the user can accept. A common form of user interface is the graphical user interface (GUI), which refers to a user interface related to computer operation displayed graphically. It can be an icon, window, control, or other interface element displayed on the screen of a display device. Controls can include visual interface elements such as icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, and widgets.
[0078] Understandably, in general, the implementation of display device functions requires not only the support of the aforementioned hardware, but also the cooperation of software.
[0079] Figure 4 See the schematic diagram of the software system of the display device provided in this application. Figure 4 In some embodiments, the system is divided into four layers, from top to bottom: the Applications layer (referred to as the "Application Layer"), the Application Framework layer (referred to as the "Framework Layer"), the Android runtime and system library layer (referred to as the "System Runtime Library Layer"), and the kernel layer.
[0080] In some embodiments, at least one application runs in the application layer. These applications may be Windows programs included with the operating system, system settings programs, or clock programs, or they may be applications developed by third-party developers. In specific implementations, the applications in the application layer include, but are not limited to, the examples above. For instance, the application layer includes a fitness application. This fitness application can achieve intelligent interaction through fitness video playback and fitness plan arrangement, thereby helping users develop fitness habits. The display device can respond to an operation by the user to launch the fitness application and open the fitness application. The operation to launch the fitness application can be a touch operation, a voice operation, or a control command from a remote control.
[0081] The framework layer provides the application programming interface (API) and programming framework for the application. The application framework layer includes predefined functions. It acts as a central processing unit, determining the actions taken by the applications within the application layer. Through the API, the application can access system resources and services during execution. For example, the application framework layer includes system services that can receive playback commands for fitness videos from the fitness application. Upon receiving these commands, the service can activate the display driver to display the video feed on the monitor and the audio driver to play the audio data through the speakers. In other words, the service can control the entire process of the fitness application's operation.
[0082] After the system service obtains the fitness video, it sends the video feed to the display driver corresponding to the monitor. The display driver then activates the monitor to play the fitness video feed. Simultaneously, it sends the audio data of the fitness video to the audio driver corresponding to the speaker. The audio driver then activates the speaker to play the audio data of the fitness video.
[0083] In some embodiments, the system runtime library layer provides support for the upper layer, namely the framework layer. When the framework layer is used, the Android operating system runs the C / C++ libraries contained in the system runtime library layer to implement the functions that the framework layer needs to perform.
[0084] In some embodiments, the kernel layer is a layer between the hardware and software. The kernel layer includes at least one of the following drivers: Bluetooth driver, camera driver, Wi-Fi driver, USB driver, HDMI driver, sensor driver (such as a fingerprint sensor, temperature sensor, pressure sensor, etc.), microphone driver, power driver, display driver for the monitor, and audio driver for the speaker. Specifically, the display driver can call the monitor's interface to obtain video footage from the fitness video or to configure the monitor. The audio driver can call the speaker's interface to obtain audio data from the fitness video or to configure the speaker.
[0085] The display can be used to sample the user's voice and acquire sampled data. The sound acquisition unit can also be used to send the sampled data to the dialogue service via its corresponding display driver. Furthermore, the sound acquisition unit can be used to set its sensitivity according to instructions from its corresponding display driver.
[0086] The speaker can be used to play the response voice generated by the service. The speaker can also be used to receive response voice sent from the dialogue service via the speaker's corresponding audio driver.
[0087] The methods described in the following embodiments can all be implemented in a display device having the above-described hardware or software structure. The following embodiments use a television set as an example to illustrate the methods of this application's embodiments.
[0088] This application provides a video playback method, such as... Figure 5 As shown, the video playback method may include S11-S15.
[0089] S11. In response to the user's first message, retrieve media resources and media resource management files.
[0090] The first message requests the playback of a media resource, which showcases multiple fitness exercises; for example, the media resource could be a fitness video. The tag file contains movement information for each of the fitness exercises.
[0091] The embodiments of this application can be applied to, for example, Figure 6 In the scenario shown, see Figure 6 In (a), the interface 601 of "My Applications" on the television includes an icon 602 for a fitness application. The fitness application on the television can receive control signals from the user regarding the fitness application icon 602, and in response to the control signals, displays as shown in Figure (a). Figure 6Interface 603 is shown in (b) above. Interface 603 may include a display window 604 for fitness video 1. Interface 603 may also include display windows for other fitness videos, such as display windows for fitness video 2, fitness video 3, and fitness video 4. After receiving a first message from the user regarding the display window 604 for fitness video 1, the fitness application responds to the first message as follows: Figure 6 As shown, the television can display interface 605, which is used to display the magnified video 1.
[0092] The process by which the fitness app on the TV responds to the user's first message and retrieves media resources and their associated files is as follows:
[0093] (1) The fitness application on the TV receives the first message from the user to the display window 604 of fitness video 1 and sends a resource request message to the cloud server.
[0094] The resource request message is used to request the access to Fitness Video 1, which corresponds to display window 604. The resource request message includes attribute information for Fitness Video 1, and the cloud server is the server storing media resources within the fitness application.
[0095] (2) After receiving the resource request message, the cloud server searches for the data packet of fitness video 1 by traversing the storage unit according to the attribute information of fitness video 1 in the received resource request message, and sends the data packet of fitness video 1 to the fitness application of the TV.
[0096] (3) The fitness application on the TV receives the data packet of fitness video 1, parses the data packet of fitness video 1, and obtains the address of fitness video 1 and the address of the file of fitness video 1.
[0097] (4) The fitness application on the TV downloads the file of fitness video 1 according to the address of the file of fitness video 1.
[0098] The tracking file for Fitness Video 1 includes the name of Fitness Video 1, its encoding, frames per second (FPS), total number of frames, and exercise data. The exercise data in Fitness Video 1 includes motion information for multiple exercises. This motion information includes the exercise's order within Fitness Video 1, its start and end times, its name, its ID in the exercise set, and the number of repetitions. An exercise set can be a collection of exercises created by a fitness application based on existing exercises. This set must include at least multiple exercises and an ID for each exercise.
[0099] For example, part of the code in the dot-matrix file corresponding to fitness video 1 is shown below:
[0100]
[0101] S12. Parse the dotted file and generate a list of fitness movements corresponding to the media resources.
[0102] The fitness exercise list includes information on multiple fitness exercises.
[0103] The TV's fitness application retrieves the timing file from its address and then parses it. As shown in S11, the timing file includes basic information about the media resource and action information for multiple fitness exercises within that resource. Based on this information, a list of fitness exercises is generated. The basic information about the media resource includes its name, encoding, frames per second (FPS), and total number of frames.
[0104] The fitness exercise list can include the media resource name, media resource encoding, media resource FPS, media resource total frame count, and fitness exercise data within the media resource. The fitness exercise data includes exercise information for multiple exercises. This exercise information includes the exercise's order within the media resource, start time, end time, name, ID within the exercise set, and repetition duration.
[0105] For example, the generated list of fitness exercises is shown in Table 1.
[0106] Table 1
[0107]
[0108] Table 1 discloses a fitness video 1 titled "Squat and Pull-up Function Improvement," with the video code "05AIJQA1002S." The total duration of fitness video 1 is 24300 seconds. Fitness video 1 includes N+1 fitness exercises, numbered starting from 0. The exercise list details the name, start time, end time, and number of repetitions for each of the N+1 exercises. The end time of one exercise can be consecutive to the start time of the next. If the end time is not consecutive, the time difference can be considered rest time. For example, the first exercise (exercise number 0) is named "Upright Row," with a start time of 240 seconds, an end time of 280 seconds, and 20 repetitions. The second exercise (i.e., exercise number 1) is called "Alternating Court Lunge". The starting time is 300 seconds, the ending time is 340 seconds, and the number of repetitions is 10.
[0109] S13. Draw a progress bar corresponding to the media resources based on the list of fitness movements.
[0110] The progress bar includes multiple sub-progress bars, each corresponding to a specific fitness movement. Each sub-progress bar represents the movement information of the fitness movement, including at least the name of the movement, its playback progress, and its duration.
[0111] As shown in S12, the fitness exercise list includes detailed data on multiple fitness exercises corresponding to the media resources. A progress bar corresponding to the media resources can be drawn based on the fitness exercise list.
[0112] Specifically, after the fitness app on the TV generates a list of fitness exercises, it sends a drawing message to the progress bar control. This drawing message requests the progress bar control to draw the progress bar for the media resource, and includes the list of fitness exercises. Upon receiving the drawing message, the progress bar control first initializes the progress bar. Then, based on the order of the multiple fitness exercises in the list within the media resource, it determines the total number of fitness exercises corresponding to the media resource. Finally, it draws the progress bar evenly according to the total number of fitness exercises, resulting in multiple sub-progress bars of equal length.
[0113] Alternatively, after obtaining the total number of fitness exercises corresponding to the media resources, the progress bar control determines the duration of each fitness exercise based on its start and end times. Then, based on the total duration of the media resources in the fitness exercise list, the total number of fitness exercises, and the duration of each exercise, a progress bar is drawn, resulting in multiple sub-progress bars. The lengths of these sub-progress bars can be the same or different. After obtaining multiple sub-progress bars, users can freely select to play a specific fitness exercise based on their instructions, such as selecting to play the first exercise, the last exercise, etc., making the operation more convenient.
[0114] Finally, based on the names of the exercises in the fitness exercise list, add a corresponding name to each sub-progress bar. Alternatively, based on the order of the exercises in the media resource, display the sorting result as the name of each sub-progress bar. For example, if the media resource is a fitness video containing five exercises, five sub-progress bars can be created by drawing progress bars, each corresponding to one exercise. Each sub-progress bar is used to display the exercise information for its corresponding exercise.
[0115] After obtaining five sub-progress bars, name each sub-progress bar according to the playback order of each fitness exercise, such as Section 1, Section 2, Section 3, Section 4, and Section 5. Typically, a warm-up session is performed before starting the workout, and a cool-down session is performed afterward. Therefore, you can also name each sub-progress bar based on the function and order of each fitness exercise in the video, such as Warm-up, Section 1, Section 2, Section 3, and Cool-down. Alternatively, you can name each sub-progress bar according to the name of each fitness exercise, such as Wrist Circles, Jogging, High Knees, Jumping Jacks, and Leg Stretch.
[0116] During media playback, the progress bar control on the TV can poll the media player's playback progress at fixed intervals and refresh the progress bar's display based on the playback results. Specifically, based on the playback time of each fitness exercise in the media resource, the playback progress of the corresponding sub-progress bar for that exercise is refreshed. The fixed interval is 100ms, and the playback progress range of each sub-progress bar is [0~100%].
[0117] For example, if the media player is currently playing the first exercise of a media resource, and the progress bar control on the TV polls the media player's playback progress, and determines that the current playback progress of the first exercise is 70%, the progress bar control sets the interface display of the first sub-progress bar corresponding to the first exercise to show a playback progress of 70%.
[0118] In some embodiments, after obtaining multiple sub-progress bars, different background colors can be configured for the interface display of each sub-progress bar so that there are clear dividing lines between each sub-progress bar, thereby making it easier to distinguish multiple fitness movements.
[0119] In some embodiments, the progress bar of a media resource can take various forms, such as a horizontal progress bar and a vertical progress bar. Figure 7 This diagram illustrates a horizontal progress bar display. (For example...) Figure 7 (a) shows a horizontal progress bar. The total duration of the fitness video corresponding to the horizontal progress bar is 5:00, and the first exercise of the fitness video is currently playing. Figure 7 As indicated by the labels on the sub-progress bar in (a) above, the playback progress of the first fitness exercise is 70%, and the playback time of the first sub-progress bar is 0:42. The background color of the first sub-progress bar is green. This horizontal progress bar includes five sub-progress bars. The first sub-progress bar has a gray background and corresponds to the name of the fitness exercise: Warm-up. The second sub-progress bar has a blue background and corresponds to the name of the fitness exercise: Section 1. The third sub-progress bar has a purple background and corresponds to the name of the fitness exercise: Section 2. The fourth sub-progress bar has a red background and corresponds to the name of the fitness exercise: Section 3. The fifth sub-progress bar has a yellow background and corresponds to the name of the fitness exercise: Relaxation. These five sub-progress bars are arranged horizontally in sequence.
[0120] In addition, the playback progress value of the fitness video can be marked in the middle of the sub-progress bar, the leftmost part of the sub-progress bar, the rightmost part of the sub-progress bar, the middle of the top of the sub-progress bar, or the middle of the bottom of the sub-progress bar, etc. This application does not limit the marking position of the playback progress value of the fitness video.
[0121] like Figure 7 (b) illustrates the display effect of a horizontal progress bar in a fitness video. Specifically, the horizontal progress bar is displayed at the bottom of the fitness video, and the playback progress value is marked in the middle of the first sub-progress bar. Optionally, the horizontal progress bar can also be displayed at the top of the fitness video. This application does not limit the display position of the horizontal progress bar, as long as it conforms to the user's viewing habits.
[0122] Figure 8 This diagram illustrates a vertical progress bar display. (For example...) Figure 8 (a) shows a vertical progress bar. Figure 8As shown in (a), the first exercise in the fitness video is currently playing, and it has not yet finished. The background color of the first sub-progress bar is green. This horizontal progress bar includes five sub-progress bars; the background color of the first sub-progress bar is gray, and the name of the exercise corresponding to the first sub-progress bar is "warm-up." Figure 8 As indicated by label (a) in the diagram, the duration of the exercise corresponding to the first sub-progress bar is 60 seconds. The background color of the second sub-progress bar is blue, and the name of the exercise corresponding to the second sub-progress bar is Section 1. Figure 8 As indicated by the annotation (a) in the diagram, the duration of the exercise corresponding to the second sub-progress bar is 60 seconds. The background color of the third sub-progress bar is purple, and the name of the exercise corresponding to the third sub-progress bar is Section 2. Figure 8 As indicated by the labels on the sub-progress bars in (a), the duration of the exercise corresponding to the third sub-progress bar is 70 seconds. The background color of the fourth sub-progress bar is red, and the name of the exercise corresponding to the fourth sub-progress bar is Section 3. Figure 8 As indicated by the labels on the sub-progress bars in (a) above, the fourth sub-progress bar corresponds to a workout duration of 60 seconds. The fifth sub-progress bar has a yellow background, and the workout it corresponds to is called relaxation. Figure 8 As indicated by the label on the sub-progress bar in (a), the duration of the fitness exercise corresponding to the fifth sub-progress bar is 60 seconds. The five sub-progress bars are arranged sequentially along a vertical direction.
[0123] like Figure 8 (b) illustrates the display effect of the vertical progress bar in a fitness video. Specifically, the vertical progress bar is displayed in the lower right corner of the fitness video. Optionally, the vertical progress bar can also be displayed in any of the upper right, lower left, or upper left corners of the fitness video. This application does not specify the display position of the vertical progress bar; it can be chosen to conform to the user's viewing habits.
[0124] In addition, the total duration of each sub-progress bar in the fitness video can be marked in the middle of the sub-progress bar, the leftmost part of the sub-progress bar, the rightmost part of the sub-progress bar, the middle of the top of the sub-progress bar, or the middle of the bottom of the sub-progress bar, etc. This application does not limit the marking position of the total duration of each sub-progress bar in the fitness video.
[0125] In some embodiments, the progress bar of a media resource can also display the current playback time of the media resource, the total playback duration of the media resource, the order of the current fitness exercise among all fitness exercises, the total number of fitness exercises corresponding to the media resource, and the name of the current fitness exercise. This display method can clearly inform users of the playback progress of the media resource and help users better stick to their exercise routine.
[0126] like Figure 9 As shown, the progress bar for this media resource displays 0:42 / 5:00 and 01 / 5 high knee clapping sidestep, see [link / reference]. Figure 9 The progress bar indicates that the current playback progress of the media resource is 70% of the first fitness exercise. This is equivalent to informing the user that the total duration of the media resource is 5 minutes and 0.00 minutes, and the current playback is at 0 minutes and 42 minutes. The fitness exercise being practiced is the first exercise, which consists of 5 exercises. The name of the first exercise is High Knee Clap Cross Step, and the playback progress of the first exercise is 70%.
[0127] S14. Play the media resources based on the media resources and the corresponding progress bars.
[0128] After the progress bar corresponding to the media resource is drawn, the fitness app on the TV can control the media player to play the media resource on the monitor.
[0129] In some embodiments, after receiving a control command from a user to play media resources via a control device, if the media resource selected by the user is not a local resource, it needs to be obtained from a cloud server. Therefore, the fitness application needs to control the media player to initialize and send the address of the media resource to the media player. After receiving the media resource address, the media player uses the `prepareAsync` method to asynchronously load the media resource. Specifically, the `prepareAsync` method first sets a listener event `setOnPreparedListener()`. After listening for the acquired media resource, it notifies the media player. Finally, the fitness application controls the media player to play the media resource, while a progress bar control displays the playback progress of the media resource.
[0130] In some embodiments, such as Figure 10 As shown, S14 plays media resources, including:
[0131] S141. Set the first fitness exercise.
[0132] The first fitness move is the first fitness move shown in the media resources.
[0133] After the progress bar control is set up with the corresponding progress bar for the media resource based on the fitness exercise list, the fitness application initializes the media player and the progress bar control. Then, the media player downloads and plays the media resource according to its address. Once the media player and progress bar control are initialized and playing the media resource, the progress bar control sets the first fitness exercise. Setting the first fitness exercise can be done by the progress bar control selecting the exercise ranked 0 in the fitness exercise list as the first fitness exercise.
[0134] S142. Play the i-th fitness movement, with the initial value of i being 1.
[0135] S143. When the playback progress of the i-th fitness movement reaches the end time of the i-th fitness movement, the display shows a prompt message.
[0136] The prompt information includes a prompt character, a first control, and a second control. The prompt character is used to display the follow-up score of the i-th fitness movement and prompts the user to choose whether to repeat the i-th fitness movement in the first control and the second control. The first control is for repeating the i-th fitness movement, and the second control is for not repeating the i-th fitness movement.
[0137] Upon detecting the start of media playback, the progress bar control uses an asynchronous thread to poll the media player at fixed preset intervals to obtain the playback progress of the fitness exercises and refreshes the progress bar's display. When the progress bar control detects that the i-th fitness exercise has finished playing, it sends a display message to the monitor, requesting the monitor to display a preset prompt message. After receiving the display message, the monitor displays the prompt message, indicating to the user whether to repeat the i-th fitness exercise.
[0138] S144. Upon receiving the user's second message, the playback progress of the i-th fitness movement is reverted to the start time of the i-th fitness movement. The second message indicates that the user has selected the first control.
[0139] The second message indicates that the user has selected the first control, which is to replay the i-th fitness exercise. Upon receiving the second message, the fitness app determines that the user needs to replay the i-th fitness exercise. Then, the fitness app sends a rewind message to the media player, requesting the media player to rewind the playback progress of the i-th fitness exercise back to its start time. After receiving the rewind message, the media player, based on the message, controls the playback progress of the i-th fitness exercise to rewind back to its start time.
[0140] S145. Upon receiving the user's third message, determine whether i is less than N, where N is the total number of fitness movements, and the third message indicates that the user has selected the second control.
[0141] Since the third message indicates that the user has selected the second control, which is to not repeat the i-th fitness movement, upon receiving the user's third message, the fitness application determines whether i is less than or equal to N, that is, whether the current fitness movement is the last fitness movement in the media resource. If it is not the last fitness movement, it continues playing the next fitness movement. If it is the last fitness movement, playback ends.
[0142] S146. When i < N, increment i by 1 and continue playing the i-th fitness movement.
[0143] After receiving the user's third message, the fitness app determines that the user does not need to repeat the i-th exercise. It then checks if i is less than or equal to N; if i < N, it increments i by 1. At this point, the media player plays the next exercise of the i-th exercise normally.
[0144] For example, after the media player finishes playing the i-th fitness exercise, the display shows the message "Current fitness exercise is complete. This round's score is 90 points. Please confirm whether you want to repeat," along with the first option control (i.e., the first control) "Yes" and the second option control (i.e., the second control) "No." When the user clicks the "Yes" option in the message, the media player reverts the current sub-progress bar to the start time of the current fitness exercise, and the fitness application simultaneously clears the score data for the current fitness exercise. When the user clicks the "No" option in the message, the fitness application determines whether the current fitness exercise is the last fitness exercise in the media resource. If it is not the last fitness exercise, the media player continues playing the next fitness exercise while retaining the score data for the current fitness exercise. If it is the last fitness exercise, playback ends.
[0145] Alternatively, the prompt message may only include a text message. For example, after the media player finishes playing the i-th fitness exercise, the display shows the message: "Current fitness exercise is complete. This round's score is 90 points. To continue, please press the menu button." Once the fitness app detects that the user has pressed the menu button, the media player executes a rewind command, resetting the playback progress of the media resource to the start time of the current fitness exercise, and the fitness app simultaneously clears the score data for the current exercise. If no menu button press is detected within a preset time, the fitness app determines whether the current fitness exercise is the last exercise in the media resource. If it is not the last exercise, the media player continues playing the next exercise, while retaining the score data for the current exercise. When the start time of the next exercise is reached, the prompt message is no longer displayed. If it is the last exercise, playback ends.
[0146] In some embodiments, the display device includes a progress bar control, which includes a skip option and a loop option. The skip option is used to set whether to skip the sub-progress bar, and the loop option is used to set the number of times the sub-progress bar plays.
[0147] This application embodiment draws a progress bar according to the movement information of the fitness movements, allowing users to play each fitness movement more flexibly. This application embodiment also discloses skip and loop options; each sub-progress bar in the progress bar can be set with skip and loop options. When the media resource starts playing, the user can set skip and loop options based on the name of each sub-progress bar, the start time of the corresponding fitness movement, and the end time of the fitness movement.
[0148] Skip options can be represented by target characters, such as "√" and "×". A "√" indicates that the exercise corresponding to the current sub-progress bar is skipped. An "×" indicates that the exercise corresponding to the current sub-progress bar is not skipped. Loop options can be represented by specific numbers indicating the number of loops. For example, a loop option set to 2 means that the exercise corresponding to the current sub-progress bar needs to be played twice. This application does not limit the specific representation of skip and loop options; it only needs to conform to user habits.
[0149] If the user is familiar with the content of the media resource, they can set skip and loop options when the media resource starts playing. If the user is not particularly familiar with the content of the media resource, they can also set skip and loop options during playback.
[0150] If the user has set a skip option during media playback, the progress bar control checks if the next exercise has a skip option set. If it does, it continues checking the exercise after that, until the last exercise is checked. If the next exercise does not have a skip option set, playback continues with the next exercise.
[0151] If the user has set a loop count in the loop option during media playback, when the current fitness exercise reaches its end time, the progress bar control checks if the loop count for the current exercise is greater than or equal to 1. If it is, playback continues with the current exercise. If it is less than 1, playback continues with the next exercise. Before playing the next exercise, it also checks if a skip option is set for the next exercise and processes it accordingly.
[0152] Optionally, each sub-progress bar can also be configured with options for speed adjustment, resolution, pause, play, and bullet comments, etc. As will be known to those skilled in the art, with technological advancements and the emergence of new scenarios, each sub-progress bar can also be configured with other options, and this application does not impose any limitations on this.
[0153] For example, such as Figure 11 As shown, another schematic diagram of a horizontal progress bar is provided, in which a skip option is also set on the sub-progress bar (i.e. Figure 11 (Skip) and loop options (i.e.) Figure 11 The display area for the "Skip" option shows the number of loops. When a "√" is displayed, it means the user has chosen to skip the exercise corresponding to the third sub-progress bar. When an "×" is displayed, it means the user has chosen not to skip the exercise corresponding to the third sub-progress bar. The display area for the "Loop" option shows the number of loops, indicating the number of times the exercise corresponding to the third sub-progress bar will be played. For example, Figure 11 The system displays that the user has selected the third sub-progress bar, which includes skip and loop options. The skip option is shown as an "×" and the loop option is shown as 2, indicating that the user has chosen not to skip the exercise corresponding to the third sub-progress bar, and that the exercise needs to be played twice.
[0154] In some embodiments, such as Figure 12 As shown, when S145 receives the user's third message, it determines whether i is less than or equal to N, including:
[0155] S1451. Upon receiving the user's third message, determine whether the number of cycles indicated by the loop option of the i-th fitness movement is greater than 1.
[0156] Combination Figure 11 As can be seen, each sub-progress bar can also be set with a loop option. When the playback progress of the i-th fitness exercise reaches the end time of the i-th fitness exercise, and the fitness application receives the user's third message (i.e., the user chooses not to repeat the i-th fitness exercise), it is still necessary to further determine whether the remaining number of loops for the i-th fitness exercise is greater than or equal to 1. Specifically, after receiving the user's third message, the fitness application sends a processing message to the progress bar control. This processing message requests the progress bar control to determine whether the number of loops indicated by the loop option for the i-th fitness exercise is greater than 1. After receiving the processing message, the progress bar control determines whether the number of loops indicated by the loop option for the i-th fitness exercise is greater than 1, thereby determining whether to continue playing the i-th fitness exercise or play the next fitness exercise of the i-th fitness exercise.
[0157] S1452. When the number of cycles of the i-th fitness movement is greater than or equal to 1, control the playback progress of the i-th fitness movement to revert to the start time of the i-th fitness movement.
[0158] When the number of loops for the i-th fitness exercise is greater than or equal to 1, it means that the i-th fitness exercise needs to be repeated. At this time, the media player will reset the progress bar from the end time of the i-th fitness exercise to the start time of the i-th fitness exercise and send the callback result to the fitness application. After receiving the callback result, the fitness application calls the seek to(time_start) function to control the media player to adjust the playback progress of the i-th fitness exercise to the start time of the i-th fitness exercise.
[0159] S1453. When the number of cycles of the i-th fitness movement is less than 1, determine whether i is less than N.
[0160] When the number of loops for the i-th fitness move is less than 1, it means the user-set number of loops has ended. At this point, it is necessary to determine whether i is less than or equal to N. If i is less than N, it means the fitness move in the media resource has not finished playing, and the next fitness move (i.e., the (i+1)-th fitness move) continues playing. If i equals N, it means the i-th fitness move is the last fitness move in the media resource, and the media resource playback ends.
[0161] In some embodiments, such as Figure 13 As shown, after S142 plays the i-th fitness movement, the method also includes:
[0162] S16. When the playback state of the i-th fitness movement meets the preset conditions, determine whether i is less than or equal to N.
[0163] The preset conditions include the playback progress of the i-th fitness movement reaching the end time of the i-th fitness movement or receiving an instruction to skip the i-th fitness movement.
[0164] When the playback progress of the i-th fitness move reaches the end time of the i-th fitness move, the progress bar control checks whether i is less than or equal to N, that is, it checks whether the current fitness move is the last fitness move in the media resource. If it is not the last fitness move, it continues to play the next fitness move. If it is the last fitness move, playback ends.
[0165] S17. When i < N, add 1 to i.
[0166] The progress bar control checks if i is less than or equal to N. If i < N, i is incremented by 1.
[0167] S18. If the flag for skipping the i-th fitness move is the first value, continue to determine whether i is less than or equal to N.
[0168] The flag includes a first value and a second value. The first value is used to indicate that the i-th fitness movement is skipped, and the second value is used to indicate that the i-th fitness movement is not skipped.
[0169] After incrementing i by 1, the flag for the skip option of the i-th exercise is checked to determine whether the next exercise is set to skip. That is, after i < N, it checks whether the next exercise of the i-th exercise is set to skip. If the flag for skip option is the first value, it means that the next exercise of the i-th exercise also has the skip option set. Then, it checks whether the media player has executed the skip action. If the media player has executed the skip action, it continues to check whether i+1 is less than N, that is, to determine whether the exercise two steps after the i-th exercise is set to skip.
[0170] The progress bar control queries the flag of the skip option for the i-th fitness exercise. When the flag of the skip option for the i-th fitness exercise is the first value, the progress bar control determines whether i is less than or equal to N.
[0171] S19. If the flag for the skip option of the i-th fitness move is set to the second value, continue playing the i-th fitness move.
[0172] After i < N, check if the next exercise of the i-th exercise is set to skip. If the skip option flag is the second value, it means the next exercise of the i-th exercise is not set to skip, and the next exercise of the i-th exercise continues to play. The progress bar control checks the skip option flag of the i-th exercise. When the skip option flag of the i-th exercise is the second value, the media player plays the next exercise of the i-th exercise at the normal playback speed.
[0173] In S1453, when the number of iterations of the i-th fitness movement is less than 1, after checking whether i is less than N, S17, S18, and S19 can continue to be executed. That is, when playing the next fitness movement, it is also necessary to check whether the next movement has a skip option set, and then process it according to the set skip option. The processing method of skip option can be found in the content of S18 and S19, which will not be repeated here.
[0174] For example, Figure 10 , Figure 12 as well as Figure 13 The code corresponding to the video playback method shown is as follows:
[0175]
[0176]
[0177] In one embodiment, such as Figure 14 As shown, the media player starts playing media resources. First, the progress bar control obtains the first fitness action, which is the first fitness action in the media resource. Then, the following loop process is executed.
[0178] The loop works as follows: At fixed intervals, the progress bar control queries the media player for the playback progress of the media resource and displays the result on the progress bar interface. When the playback progress of the fitness exercise reaches the end time of the exercise, a prompt message "Score for this round: XX, press the menu button to retry" is displayed. If the playback progress of the fitness exercise has not reached the end time of the exercise, the progress bar control continues to query the media player for the playback progress at fixed intervals.
[0179] Then, it determines whether to replay the exercise. If so, the media resource is fast-forwarded to the start time of the exercise. If not, it checks if the media resource's progress has reached the start time of the next exercise. If not, it checks the media resource's playback progress. If it has reached the start time of the next exercise, it checks if the remaining loop count for the first exercise is greater than or equal to 1. If the remaining loop count for the first exercise is greater than or equal to 1, the media resource is fast-forwarded to the start time of that exercise. This process is repeated until the last exercise has finished playing.
[0180] If the remaining loop count for a fitness exercise is less than 1, check if the next exercise is set to skip. If skipped, check if the media player controls skipping. If the media player does not skip, check the playback progress of the media resource. If the media player skips, fast forward to the start time of the next exercise. If the next exercise is not skipped, check the playback progress of the media resource. During the playback of the next exercise, continue the above loop. Repeat this process until the last exercise finishes playing. If the next exercise is not set to skip, play the next exercise and continue the above loop. Repeat this process until the last exercise finishes playing.
[0181] The foregoing mainly describes the solutions provided by the embodiments of this application from a methodological perspective. To achieve the above functions, it includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0182] This application embodiment can divide the electronic device into functional modules according to the above method example. For example, each function can be divided into its own functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.
[0183] Corresponding to the methods in the foregoing embodiments, this application also provides a server. This server is used to implement the methods in the foregoing embodiments. The functions of the server can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions.
[0184] For example, Figure 15 A schematic diagram of the structure of a display device is shown, such as... Figure 15 As shown, the display device may include: an acquisition module 1101 and a processing module 1102, etc.
[0185] The acquisition module is used to respond to the user's first message and acquire media resources and media resource tracking files. The first message is used to request the playback of media resources. The media resources are used to display multiple fitness movements. The tracking files include the movement information of the multiple fitness movements corresponding to the media resources.
[0186] The processing module is used to parse the dotted file and generate a list of fitness movements corresponding to the media resources. The list of fitness movements includes movement information for multiple fitness movements.
[0187] The processing module is also used to draw progress bars corresponding to media resources based on the list of fitness movements. The progress bars include multiple sub-progress bars, and each sub-progress bar corresponds to a fitness movement.
[0188] The processing module is also used to play media resources based on the media resources and the progress bar corresponding to the media resources.
[0189] In some feasible examples, the processing module is also used to set the first fitness movement, which is the first fitness movement displayed in the media resource; play the i-th fitness movement, with an initial value of 1 for i; when the playback progress of the i-th fitness movement reaches the end time of the i-th fitness movement, display a prompt message, which includes a prompt character, a first control, and a second control. The prompt character is used to display the follow-up score of the i-th fitness movement and prompts the user to choose whether to repeat the i-th fitness movement in the first and second controls. The first control is for repeating the i-th fitness movement, and the second control is for not repeating the i-th fitness movement; when a second message is received from the user, the playback progress of the i-th fitness movement is controlled to revert to the start time of the i-th fitness movement. The second message is used to indicate that the user has selected the first control; when a third message is received from the user, it is determined whether i is less than N, where N is the total number of multiple fitness movements. The third message is used to indicate that the user has selected the second control; if i < N, i is incremented by 1, and the playback of the i-th fitness movement continues.
[0190] In some implementable examples, the processing module is also configured to, upon receiving a third message from the user, determine whether the loop count indicated by the loop option of the i-th fitness movement is greater than 1; if the loop count of the i-th fitness movement is greater than or equal to 1, control the playback progress of the i-th fitness movement to revert to the start time of the i-th fitness movement and decrement the loop count by 1; if the loop count of the i-th fitness movement is less than 1, determine whether i is less than N.
[0191] In some feasible examples, the processing module is further configured to determine whether i is less than or equal to N when the playback status of the i-th fitness movement meets preset conditions. The preset conditions include the playback progress of the i-th fitness movement reaching the end time of the i-th fitness movement or receiving an instruction to trigger the skipping of the i-th fitness movement. If i < N, i is incremented by 1. If the flag bit of the skip option of the i-th fitness movement is a first value, the module continues to determine whether i is less than or equal to N. The flag bit includes a first value and a second value. The first value is used to indicate skipping the i-th fitness movement, and the second value is used to indicate not skipping the i-th fitness movement. If the flag bit of the skip option of the i-th fitness movement is a second value, the module continues to play the i-th fitness movement.
[0192] In some feasible examples, the processing module is also used to poll the playback progress of the media resource and refresh the interface display of the progress bar corresponding to the media resource.
[0193] It should be understood that the division of units or modules (hereinafter referred to as units) in the above device is only a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, all units in the device can be implemented in software through processing element calls; all units can be implemented in hardware; or some units can be implemented in software through processing element calls, and some units can be implemented in hardware.
[0194] For example, each unit can be a separate processing element, or it can be integrated into a chip within the device. Alternatively, it can be stored as a program in memory, invoked and executed by a processing element within the device. Furthermore, these units can be integrated in whole or in part, or implemented independently. The processing element here can also be called a processor, which can be an integrated circuit with signal processing capabilities. In implementation, each step of the above method or each of the above units can be implemented through integrated logic circuits in the processor element or through software invoked by the processing element.
[0195] In one example, the unit in the above device may be one or more integrated circuits configured to implement the above methods, such as one or more ASICs, or one or more DSPs, or one or more FPGAs, or a combination of at least two of these integrated circuit forms.
[0196] For example, when the units in the device can be implemented through a processing element scheduler, the processing element can be a general-purpose processor, such as a CPU or other processor capable of calling programs. Alternatively, these units can be integrated together to form a system-on-a-chip (SoC).
[0197] In one implementation, the units that implement the corresponding steps in the above methods can be implemented in the form of a processing element scheduler. For example, the device may include a processing element and a storage element, wherein the processing element calls a program stored in the storage element to execute the methods of the above method embodiments. The storage element may be a storage element located on the same chip as the processing element, i.e., an on-chip storage element.
[0198] In another implementation, the program used to perform the above methods can be located on a storage element on a different chip than the processing element, i.e., an off-chip storage element. In this case, the processing element calls or loads the program from the off-chip storage element onto the on-chip storage element to call and execute the methods of the above method embodiments.
[0199] For example, embodiments of this application may also provide an apparatus, such as a data processing device, which may include a processor and a memory for storing processor-executable instructions. When the processor is configured to execute the aforementioned instructions, the data processing device implements the video playback method as described in the foregoing embodiments. The memory may be located within or outside the data processing device. Furthermore, the processor may include one or more processors.
[0200] In another implementation, the unit implementing each step of the above method can be configured as one or more processing elements, which can be disposed on the corresponding display device. These processing elements can be integrated circuits, such as one or more ASICs, one or more DSPs, one or more FPGAs, or combinations of these types of integrated circuits. These integrated circuits can be integrated together to form a chip.
[0201] Another embodiment of this application provides a chip system, such as Figure 16 As shown, the chip system includes at least one processor 1601 and at least one interface circuit 1602. The processor 1601 and the interface circuit 1602 are interconnected via lines. For example, the interface circuit 1602 can be used to receive signals from other devices. As another example, the interface circuit 1602 can be used to send signals to other devices (e.g., the processor 1601).
[0202] For example, interface circuit 1602 can read instructions stored in the device's memory and send those instructions to processor 1601. When the instructions are executed by processor 1601, the electronic device can perform the steps described in the above embodiments. Of course, the chip system may also include other discrete components, and this application embodiment does not specifically limit this.
[0203] This application also provides a computer-readable storage medium storing computer program instructions. When the computer program instructions are executed by a display device, the display device can implement the application unresponsive handling method described above.
[0204] This application also provides a computer program product, including computer instructions for operation by the data processing device described above. When the computer instructions are executed in the data processing device, the data processing device implements the video playback method described above. Through the above description of the embodiments, those skilled in the art will clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0205] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another apparatus, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0206] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0207] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0208] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product, such as a program. This software product is stored in a program product, such as a computer-readable storage medium, and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.
[0209] For example, embodiments of this application may also provide a computer-readable storage medium storing computer program instructions thereon. When the computer program instructions are executed by a display device, the display device implements the video playback method as described in the foregoing method embodiments.
[0210] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A video playing method, characterized in that, The application is applied to a display device, comprising: In response to a first message of a user, a media resource and a trace file of the media resource are acquired, the first message is used to request playing the media resource, the media resource is used to show a plurality of fitness actions, and the trace file comprises action information of the plurality of fitness actions corresponding to the media resource; The trace file is parsed to generate a fitness action list corresponding to the media resource, and the fitness action list comprises the action information of the plurality of fitness actions; According to the fitness action list, a progress bar corresponding to the media resource is drawn, the progress bar comprises a plurality of sub-progress bars, the sub-progress bars correspond to the fitness actions one by one, the sub-progress bars are used to represent the action information of the fitness actions, and the sub-progress bars at least comprise a name of the fitness action, a playing progress of the fitness action and a time length of the fitness action, and a start time of the fitness action and an end time of the fitness action are displayed; Based on the media resource and the progress bar corresponding to the media resource, the media resource is played.
2. The video playback method of claim 1, wherein, The action information of the plurality of fitness actions comprises a start time of a fitness action and an end time of the fitness action; and the playing of the media resource comprises: A first fitness action is set, the first fitness action is a first fitness action shown by the media resource; An i-th fitness action is played, an initial value of i is 1; In a case where a playing progress of the i-th fitness action reaches the end time of the i-th fitness action, prompt information is shown, the prompt information comprises prompt characters, a first control and a second control, the prompt characters are used to show a follow-up training score of the i-th fitness action, and prompt the user to select whether to retrain the i-th fitness action in the first control and the second control, the first control is to retrain the i-th fitness action, and the second control is not to retrain the i-th fitness action; When a second message of the user is received, the playing progress of the i-th fitness action is controlled to be called back to the start time of the i-th fitness action, and the second message is used to represent that the user selects the first control; When a third message of the user is received, it is judged whether i is less than N, N is a total number of the plurality of fitness actions, and the third message is used to represent that the user selects the second control; In a case where i is less than N, i is increased by 1, and the playing of the i-th fitness action is continued.
3. The video playback method of claim 2, wherein, The display device comprises a progress bar control, the progress bar control is used to set a skip option and a loop option, the skip option is used to set whether to skip a sub-progress bar, and the loop option is used to set a loop number of playing of the sub-progress bar.
4. The video playing method of any of claims 1-3, wherein, The action information of the plurality of fitness actions includes a name of the fitness action, a start time of the fitness action, and an end time of the fitness action; the progress bar includes a horizontal progress bar or a vertical progress bar, the horizontal progress bar includes a plurality of sub-horizontal progress bars, the sub-horizontal progress bar includes a name of the sub-horizontal progress bar, a playing progress of the sub-horizontal progress bar, and a playing time of the sub-horizontal progress bar; the vertical progress bar includes a plurality of sub-vertical progress bars, the sub-vertical progress bar includes a name of the sub-vertical progress bar, a playing progress of the sub-vertical progress bar, and a total playing time of the sub-vertical progress bar.
5. The video playback method of claim 4, wherein, The determining whether i is less than N upon receiving the third message of the user comprises: Upon receiving the third message of the user, determining whether the number of cycles indicated by the cycle option of the i-th fitness action is greater than 1; When the number of cycles of the i-th fitness action is greater than or equal to 1, controlling the playing progress of the i-th fitness action to be called back to the start time of the i-th fitness action, and the number of cycles to be reduced by 1; When the number of cycles of the i-th fitness action is less than 1, determining whether i is less than N.
6. The video playback method of claim 4, wherein, The method further comprises the following steps after playing the i-th fitness action: When the playing state of the i-th fitness action meets a preset condition, determining whether i is less than or equal to N, the preset condition comprising that the playing progress of the i-th fitness action reaches the end time of the i-th fitness action or an instruction triggering skipping of the i-th fitness action is received; In the case of i < N, i is increased by 1; When the flag bit of the skipping option of the i-th fitness action is a first value, continue to determine whether i is less than or equal to N, the flag bit comprising the first value and a second value, the first value indicating skipping of the i-th fitness action, and the second value indicating non-skipping of the i-th fitness action; When the flag bit of the skipping option of the i-th fitness action is the second value, continue to play the i-th fitness action.
7. The video playback method of claim 1, wherein, The playing of the media resource comprises: Polling the playing progress of the media resource and refreshing the interface display result of the progress bar corresponding to the media resource.
8. The video playback method of claim 1, wherein, The interface display background colors of the plurality of sub-progress bars are different.
9. A display device, characterized by The display device comprises an acquisition unit and a processing unit; The acquisition unit is configured to, in response to a first message of a user, acquire a media resource and a point file of the media resource, the first message being used to request playing of the media resource, the media resource being used to show a plurality of fitness actions, and the point file comprising action information of the plurality of fitness actions corresponding to the media resource; The processing unit is configured to parse the point file, and generate a fitness action list corresponding to the media resource, the fitness action list comprising the action information of the plurality of fitness actions. The processing unit is further configured to draw a progress bar corresponding to the media resource according to the list of fitness actions, the progress bar comprising a plurality of sub-progress bars, each of the sub-progress bars corresponding to one of the fitness actions, each of the sub-progress bars representing action information of the corresponding fitness action, each of the sub-progress bars comprising at least a name of the corresponding fitness action, a play progress of the corresponding fitness action, and a duration of the corresponding fitness action, and displaying a start time of the corresponding fitness action and an end time of the corresponding fitness action. The processing unit is further configured to play the media resource based on the media resource and the progress bar corresponding to the media resource.
10. An electronic device, comprising: The electronic device comprises: a memory and a processor, the memory being configured to store a computer program, and the processor being configured to, when executing the computer program, enable the electronic device to implement the video playing method according to any one of claims 1-8.
Citation Information
Patent Citations
Follow-up practice mode control method and display equipment
CN112272324A
Method for adjusting play progress and electronic device
US20170285924A1