Display device and video loop playing method
By converting the playback progress data of the display device when the video is played in a loop, so that the value is within a smaller range, the problem of player lagging caused by data out of the range is solved, and stable loop playback of the video is achieved.
Patent Information
- Application Number
- CN202411607469.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-11
- Publication Date
- 2025-01-24
- Estimated Expiration
- 2044-11-11
AI Technical Summary
When the display device plays the video in a loop, the player feedbacks the wrong playback progress because the playback progress data exceeds the preset range, which in turn causes the video to not be played normally.
The data conversion of the obtained first playback progress data is transformed, and the second playback progress data is obtained to make its value in a small range, thereby avoiding the preset range, and ensuring that the player receives accurate playback progress.
It alleviates the player freeze problem caused by the playback progress data exceeding the range and ensures the stability and continuity of video loop playback.
Smart Images

Figure CN119364124A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of display devices, and in particular to a display device and a video loop playback method. Background Art
[0002] When using a display device, the user can input a loop play instruction to make the display device play media data in a loop.
[0003] During the loop playback process, the display device can loop the video and audio data to achieve loop playback without restarting the playback. In this way, the audio and video can be looped by using the total duration of the source, and then the data is continuously sent to the decoder, so that the decoded data is sent to the player through the decoder. The player can loop the audio and video data.
[0004] However, when the display device is playing in a loop in this way, the player needs to return the playback progress according to the preset period to update the real-time playback progress of the source, the total playback progress of the source, and other key information for loop playback. When the player receives the updated real-time playback progress of the source, it will continue to play the audio and video data. However, when the key information such as the real-time playback progress of the source exceeds the corresponding data range, the playback progress will be incorrectly fed back to the player, which will cause the video to not play in a normal loop. Summary of the invention
[0005] The present application provides a display device and a video loop playback method to solve the problem that the display device cannot normally loop playback the video.
[0006] In a first aspect, the present application provides a display device, including a display and a controller. The controller is configured to:
[0007] In response to the received loop play instruction, controlling the display to play media data; the media data includes first audio data;
[0008] Obtaining a first playback progress of the first audio data;
[0009] Performing data conversion on first data used to represent the first playback progress to obtain second data; the second data is used to represent the second playback progress; the data representation range of the first data is greater than the data representation range of the second data; the first audio data represented by the first data and the second data have the same playback progress;
[0010] Obtaining the total playback progress of the first audio data;
[0011] generating third data based on the second data and the total progress data used to represent the total playback progress; the third data has the same data representation range as the first data; and the third data has the same playback progress as the first audio data represented by the first data;
[0012] The display is controlled to continue playing the media asset data based on the third playing progress.
[0013] In this way, when the display device is playing media data in a loop, the first data used to characterize the playback progress of audio data in the media data is converted into second data so that the value of the second data is in a smaller range, thereby alleviating the problem of inaccurate playback progress sent to the player due to the value of the second data exceeding the preset range, which in turn causes the player to freeze.
[0014] In some feasible embodiments, the controller performs data conversion on the first playback progress information to obtain the second playback progress information, which is specifically configured as follows:
[0015] Performing a modulo operation on the first data based on a maximum value corresponding to the second data to obtain the second data;
[0016] The playing progress of the first audio data is determined based on the second data.
[0017] In this way, through the modulo operation, the second data can represent the playback progress of the audio data without superposition, and the second data will not exceed the preset range of the audio progress statistics, which can ensure that the player continues to obtain the correct playback progress and align the audio data and video data, thereby realizing the cyclic playback of media data.
[0018] In some feasible embodiments, the controller performs data conversion on the first playback progress information to obtain second playback progress information, and is further configured to:
[0019] Obtaining a first update threshold and a second update threshold; the first update threshold is equal to reference data; the reference data is used to represent reference progress information; the reference progress information is used to represent the playback progress of the first audio data obtained last time;
[0020] If the second data is less than the first update threshold, and the interpolation of the reference data and the second data is greater than the second update threshold, the total progress data is updated, and the second data is set as the reference data.
[0021] In this way, the playback progress information obtained last time can be compared with the playback progress information currently obtained to determine whether the current playback progress has restarted a cycle, thereby updating key information such as the total progress data.
[0022] In some feasible embodiments, the controller executes obtaining the first update threshold and the second update threshold, and is specifically configured as follows:
[0023] Obtaining a maximum value corresponding to the second data;
[0024] The second update threshold is determined based on half of the maximum value.
[0025] In this way, by determining the second update threshold, an upper limit value and a lower limit value can be formed together with the first update threshold value to determine whether the cycle has been restarted, which is conducive to timely updating of key information such as total progress data.
[0026] In some feasible embodiments, the controller executes updating of the total progress data, and is specifically configured as follows:
[0027] Obtaining a maximum value that can be represented by the second data;
[0028] Calculate a first sum of the value corresponding to the total progress data and the maximum value;
[0029] The total progress data is updated based on the first sum value.
[0030] In this way, the total progress data can be continuously monitored by obtaining the second data used to represent the current playback progress and the total progress data of the media asset data, and then the playback progress is sent to the player according to the total progress data, so that the player can achieve loop playback.
[0031] In some feasible embodiments, the controller generates the third data based on the second data and the total progress data used to characterize the total playback progress, and is specifically configured as follows:
[0032] Acquire the total progress data and the second data;
[0033] Calculate a second sum of the value corresponding to the total progress data and the value corresponding to the second data;
[0034] Third data is generated based on the second sum value.
[0035] In this way, by summing the total progress data and the second data, the third data sent to the player can be determined, so that the player continues to play the media asset data according to the play progress represented by the third data.
[0036] In some feasible embodiments, the media asset data further includes video data; the controller controls the display to continue playing the media asset data based on the third play progress, and is specifically configured as follows:
[0037] Correcting the playback progress of the video data based on a third playback progress represented by the third data, so as to synchronize the playback progress of the first audio data with the video data;
[0038] The display is controlled to continue playing the video data after the progress is synchronized, and the speaker is controlled to play the first audio data after the progress is synchronized.
[0039] In this way, the video data and the audio data can be synchronized by using the playback progress of the audio data as a reference to ensure the coordination of audio and video when playing the media data.
[0040] In some feasible embodiments, the controller performs playing of the media asset data and is further configured to:
[0041] In response to a received fast-forward instruction or a fast-rewind instruction, determining a sudden change playback progress corresponding to the fast-forward instruction or the fast-rewind instruction;
[0042] The media asset data is continued to be played based on the sudden change in the playing progress, and the total playing progress is updated based on the sudden change in the playing progress.
[0043] In this way, when fast forward or fast rewind occurs during the media asset playback, the total progress information of the audio data needs to be updated so that the player can obtain the total playback progress in time, thereby ensuring that the player can maintain the loop playback of the media asset data.
[0044] In some feasible embodiments, the controller performs playing of the media asset data and is further configured to:
[0045] In response to the received audio track switching instruction, switching the first audio data of the media asset data to the second audio data;
[0046] The total playback progress is updated based on the total playback progress corresponding to the second audio data, and the second audio data and the video data in the media asset data are synchronized.
[0047] In this way, during the audio track switching process, the total progress information of the audio data can be updated, so that the player can synchronize the audio data and video data according to the total progress information of the audio data to ensure that the player plays the media data in a loop without causing freezes or the like.
[0048] In a second aspect, the present application provides a video loop playback method, comprising:
[0049] In response to the received loop play instruction, play the media asset data; the media asset data includes audio data;
[0050] Obtaining a first playback progress of the audio data;
[0051] Performing data conversion on first data used to represent the first playback progress to obtain second data; the second data is used to represent the second playback progress; the data representation range of the first data is greater than the data representation range of the second data; the audio data playback progress represented by the first data and the second data is the same;
[0052] Obtain the total playback progress of the audio data;
[0053] generating third data based on the second data and the total progress data used to represent the total playback progress; the third data has the same data representation range as the first data; and the third data represents the same audio data playback progress as the first data;
[0054] The media asset data is continued to be played based on the third play progress.
[0055] It can be known from the above technical content that the present application provides a display device and a video loop playback method. The display device performs data conversion on the first data when acquiring the first data for representing the first playback progress of the audio data, thereby obtaining the second data for representing the second playback progress of the audio data. The first playback progress and the second playback progress are the same, but the data identification range of the first data is larger than the second data. In this way, through the process of data conversion, the second data for representing the second playback progress is not easy to exceed the maximum value, thereby alleviating the problem of player freeze caused by the second data representing the second playback progress exceeding the maximum value. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] In order to more clearly illustrate the technical solution of the present application, the drawings required for use in the embodiments are briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0057] Figure 1 A schematic diagram of a display device operation scenario provided in some embodiments of the present application;
[0058] Figure 2 A schematic diagram of the hardware configuration of a display device provided in some embodiments of the present application;
[0059] Figure 3 A schematic diagram of software configuration of a display device provided in some embodiments of the present application;
[0060] Figure 4 A schematic diagram of the module composition of a player provided in some embodiments of the present application;
[0061] Figure 5 A flowchart of a display device that loops through media data provided by some embodiments of the present application;
[0062] Figure 6 A schematic diagram of data interaction between the hardware abstraction layer and the framework layer provided in some embodiments of the present application;
[0063] Figure 7 A timing interaction diagram of each module in the process of looping media data playback provided in some embodiments of the present application;
[0064] Figure 8 A flow chart for determining a playback period of first audio data provided in some embodiments of the present application;
[0065] Fig. 9 A timing interaction diagram for resetting the total playback progress in a fast forward / fast rewind scenario provided in some embodiments of the present application;
[0066] Fig.10 A timing interaction diagram for resetting the total playback progress in the audio track switching scenario provided in some embodiments of the present application. DETAILED DESCRIPTION
[0067] The following embodiments are described in detail, and examples thereof are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following embodiments do not represent all implementations consistent with the present application. They are only examples of systems and methods consistent with some aspects of the present application as detailed in the claims.
[0068] The following embodiments are described in detail, and examples thereof are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following embodiments do not represent all implementations consistent with the present application. They are only examples of systems and methods consistent with some aspects of the present application as detailed in the claims.
[0069] It should be noted that the brief description of terms in this application is only for the convenience of understanding the embodiments described below, and is not intended to limit the embodiments of this application. Unless otherwise specified, these terms should be understood according to their common and usual meanings.
[0070] The terms "first", "second", "third", etc. in the specification and claims of this application and the above drawings are used to distinguish similar or similar objects or entities, and do not necessarily mean to limit a specific order or sequence, unless otherwise noted. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances.
[0071] The terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover but not exclude inclusion, for example, a product or device comprising a list of components is not necessarily limited to all the components expressly listed but may include other components not expressly listed or inherent to such product or device.
[0072] The term "module" refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and / or software code that is capable of performing the functions associated with that element.
[0073] In the embodiment of the present application, the display device 200 generally refers to a device with image display and data processing capabilities. For example, the display device 200 includes but is not limited to a smart TV, a mobile terminal, a computer, a monitor, an advertising screen, a wearable device, a virtual reality device, an augmented reality device, etc.
[0074] Figure 1 This is a schematic diagram of an operation scenario between a display device and a control device provided in some embodiments of the present application. Figure 1 As shown in FIG. 1 , the user can operate the display device 200 through touch operation, the mobile terminal 300 and the control device 100. For example, the control device 100 can be a remote controller, a stylus pen, a handle, etc.
[0075] The mobile terminal 300 can be used as a control device for performing human-computer interaction between the user and the display device 200. The mobile terminal 300 can also be used as a communication device for establishing a communication connection with the display device 200 and performing data interaction. In some embodiments, the mobile terminal 300 can install software applications with the display device 200, and achieve connection and communication through a network communication protocol to achieve the purpose of one-to-one control operation and data communication. The audio and video content displayed on the mobile terminal 300 can also be transmitted to the display device 200 to achieve a synchronous display function.
[0076] like Figure 1 As also shown in FIG. 4 , the display device 200 also communicates data with the server 400 through various communication methods. The display device 200 may be allowed to communicate and connect through a local area network (LAN), a wireless local area network (WLAN), and other networks.
[0077] The display device 200 may provide a broadcast receiving television function, and may also additionally provide an intelligent network television function with a computer support function, including but not limited to network television, smart television, Internet Protocol television (IPTV), and the like.
[0078] Figure 2 Some embodiments of the present application provide Figure 1 2 is a block diagram of the hardware configuration of the display device 200.
[0079] In some embodiments, the display device 200 may include at least one of a tuner 210, a communication device 220, a detector 230, a device interface 240, a controller 250, a display 260, an audio output device 270, a memory, a power supply, and a user input interface.
[0080] In some embodiments, the detector 230 is used to collect signals of the external environment or external interaction. For example, the detector 230 includes a light receiver, a sensor for collecting the intensity of ambient light; or, the detector 230 includes an image collector, such as a camera, which can be used to collect external environment scenes, user attributes or user interaction gestures; or, the detector 230 includes a sound collector, such as a microphone, etc., for receiving external sounds.
[0081] In some embodiments, the display 260 includes a display function component for presenting a picture, and a driving component for driving an image display. The display 260 is used to receive an image signal output from the controller 250 for display. For example, the display 260 can be used to display video content, image content, and components of a menu control interface and a user control UI interface.
[0082] In some embodiments, the communication device 220 is a component for communicating with an external device or server 400 according to various communication protocol types. The display device 200 may be provided with a plurality of communication devices 220 according to different supported communication modes. For example, when the display device 200 supports wireless network communication, the display device 200 may be provided with a communication device 220 including a WiFi function. When the display device 200 supports Bluetooth connection communication, the display device 200 needs to be provided with a communication device 220 including a Bluetooth function.
[0083] The communication device 220 can enable the display device 200 to communicate with the external device or server 400 by wireless or wired connection. Among them, the wired connection can connect the display device 200 with the external device through components such as data cables and interfaces. The wireless connection can connect the display device 200 with the external device through wireless signals or wireless networks. The display device 200 can establish a connection relationship with the external device directly, or indirectly establish a connection relationship through a gateway, a router, a connection device, etc.
[0084] In some embodiments, the controller 250 may include at least one of a central processing unit, a video processor, an audio processor, a graphics processor, and a power processor, and a first interface to an nth interface for input / output. The controller 250 controls the operation of the display device and responds to the user's operation through various software control programs stored in the memory. The controller 250 controls the overall operation of the display device 200.
[0085] In some embodiments, the controller 250 and the tuner-demodulator 210 may be located in different separate devices, that is, the tuner-demodulator 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.
[0086] In some embodiments, the user may input a user command through a graphical user interface (GUI) displayed on the display 260 , and the user input interface receives the user input command through the graphical user interface (GUI).
[0087] In some embodiments, the audio output device 270 may be a local speaker of the display device 200, or may be an external audio output device of the display device 200. In particular, for the external audio output device of the display device 200, the display device 200 may also be provided with an external audio output terminal, and the audio output device may be connected to the display device 200 through the external audio output terminal to output the sound of the display device 200.
[0088] In some embodiments, the user input interface 280 can be used to receive instructions from the user input. The user input interface 280 can include at least one of a microphone, a touch panel, a sensor, a remote control, etc. Then the display device 200 can receive the instructions input by the user based on the user input interface 280 to perform interactive functions with the user.
[0089] In order to perform user interaction, in some embodiments, the display device 200 may run an operating system. The operating system is a computer program for managing and controlling hardware resources and software resources in the display device 200. The operating system can control the display device to provide a user interface, for example, the operating system can directly control the display device to provide a user interface, or can provide a user interface by running an application program. The operating system also allows the user to interact with the display device 200.
[0090] It should be noted that the operating system may be a native operating system based on a specific operating platform, or a third-party operating system deeply customized based on a specific operating platform, or an independent operating system specially developed for the display device.
[0091] The operating system can be divided into different modules or layers according to the functions implemented, such as Figure 3 As shown, in some embodiments, the system is divided into four layers, from top to bottom, namely, the application layer (Applications) layer (referred to as "application layer"), the application framework layer (Application Framework) layer (referred to as "framework layer"), the system library layer and the kernel layer.
[0092] In some embodiments, the application layer is used to provide services and interfaces for applications so that the display device 200 can run applications and interact with users based on the applications. At least one application can be run in the application layer, and these applications can be window programs, system settings programs, clock programs, etc. that come with the operating system; they can also be applications developed by third-party developers. In specific implementations, the application packages in the application layer are not limited to the above examples.
[0093] The framework layer provides application programming interfaces (APIs) and programming frameworks for applications. The application framework layer includes some predefined functions. The application framework layer is equivalent to a processing center that determines the actions that applications in the application layer take. Through the API interface, applications can access system resources and obtain system services during execution.
[0094] like Figure 3 As shown, in the embodiment of the present application, the application framework layer includes a view system, managers, content providers, etc., wherein the view system can design and implement the interface and interaction of the application, and the view system includes lists, grids, text boxes, buttons, etc. The manager includes at least one of the following modules: an activity manager for interacting with all activities running in the system; a location manager for providing system services or applications with access to system location services; a package manager for retrieving various information related to the application package currently installed on the device; a notification manager for controlling the display and clearing of notification messages; and a window manager for managing icons, windows, toolbars, wallpapers, and desktop widgets on the user interface.
[0095] In some embodiments, the activity manager is used to manage the life cycle of each application and the usual navigation back function, such as controlling the exit, opening, and back of the application. The window manager is used to manage all window programs, such as obtaining the display screen size, determining whether there is a status bar, locking the screen, capturing the screen, and controlling the display window changes, for example, reducing the display window, shaking the display, distorting the display, etc.
[0096] In some embodiments, the system runtime layer can provide support for the framework layer. When the framework layer is used, the operating system will run the instruction library contained in the system runtime layer, such as the C / C++ instruction library, to implement the functions to be implemented by the framework layer.
[0097] In some embodiments, the kernel layer is a functional layer between the hardware and software of the display device 200. The kernel layer can implement functions such as hardware abstraction, multitasking, and memory management. Figure 3 As shown, the kernel layer may be configured with hardware drivers, and the drivers included in the kernel layer may be at least one of the following drivers: audio driver, display driver, Bluetooth driver, camera driver, WIFI driver, USB driver, HDMI driver, sensor driver (such as fingerprint sensor, temperature sensor, pressure sensor, etc.), and power driver, etc.
[0098] like Figure 4 As shown, the display device can play the media data by controlling the player. The player may include a parsing module, a cache module, a video decoding module, an audio decoding module, an audio and video synchronization module, an audio rendering module, and a video rendering module. In this way, the player can perform corresponding functions through various modules to achieve the playback of media data.
[0099] It is understandable that media asset data may include audio data and video data. Audio data may correspond to different language types, resulting in different actual playback progress of audio data in different audio tracks, while the playback progress of video data is relatively stable. Therefore, the player uses the playback progress of audio data as a benchmark to achieve progress synchronization of audio data and video data.
[0100] In some embodiments, the user may input a loop playback instruction to the display device 200 through the user input interface 280, so that the display device 200 plays the media asset data in a loop. At this time, the display device 200 may obtain the playback progress of the audio data through the audio progress acquisition module (audiotrack), determine the playback progress of the media asset data according to the playback progress of the audio data, and then send it to the player, and the player continues to play the media asset data according to the acquired playback progress of the media asset data.
[0101] In some embodiments, in order to make the display device 200 play the media data in a loop without restarting, the media data can be played in a loop by reading the audio and video data in a loop. That is, the display device 200 obtains and changes the timestamp of the audio and video data in the process of reading the audio and video data in a loop, so as to represent the playing progress of the audio and video data based on the timestamp, and sends it to the player so that the player can continue to play.
[0102] It is understandable that, during the cycle, when the display device 200 determines that the playback progress of the media data has reached the next cycle, it will update the total progress data of the audio data to record the playback progress of the audio data and use it to calculate the playback progress sent to the player. However, the data format used in the audio acquisition module and the player may be different. Under the condition that the data range represented by the data format used in the player is larger than the data range represented by the data format used in the audio acquisition module, this will cause the playback progress data obtained by the audio acquisition module to exceed the data range, which will lead to the error in sending the progress data to the player, and the player will experience freezes, and the sound and picture will be out of sync.
[0103] In order to solve the above problems, the present application provides a display device 200, which includes a display 260 and a controller 250. The display 260 can display a media asset screen. Figure 5 As shown, the controller 250 is configured as follows:
[0104] S100: In response to the received loop play instruction, control the display to play media data.
[0105] In some embodiments, the user can input a loop playback instruction to the display device 200 through the user input interface 280, so that the display device 200 can loop playback the media data specified by the user according to the loop playback instruction, or play the media data that has been played in a loop playback manner based on the media data that has been played.
[0106] It can be understood that the media data includes audio data and video data. The audio data may be audio data with a different language or speech speed or other information from the video data. These audio data may be placed in different audio tracks.
[0107] S200: Obtain a first playback progress of the first audio data.
[0108] In some embodiments, the controller 250 can periodically obtain the playback progress feedback from the player to determine whether the current playback progress has entered the next loop playback cycle based on the playback progress, and update the information related to the playback progress and send it to the player so that the player continues to play the media data.
[0109] like Figure 6 As shown, the player can feedback the playback progress to the audio playback control module (Audiotrack) located in the framework layer (framework) based on the HAL layer (Hardware Abstraction Layer). In this way, the audio playback control module can process the data corresponding to the playback progress and update the total playback progress of the first audio data, the current playback progress, and the reference playback progress.
[0110] It should be noted that the data types used by the HAL layer and the framework layer are different, and the data representation range corresponding to the data type used by the HAL layer is larger than the data representation range corresponding to the data type used by the framework layer. For example, the HAL layer can use the int64 data type to represent data, while the framework layer can use the int32 data type to represent data. This will cause the HAL layer to feedback data used to characterize the playback progress of the first audio data to the framework layer, and the feedback data will exceed the data representation range of the audio playback control module in the framework layer. As a result, when the audio playback control module sends the playback progress of the first audio data to the player, it will directly send "0", causing the player to be unable to synchronize the first audio data and video data, and thus unable to continue playing the media data normally.
[0111] S300: Perform data conversion on first data used to represent the first playback progress to obtain second data.
[0112] In some embodiments, Figure 7 As shown, the second data is used to represent the second playback progress, and the first data is used to represent the first playback progress. However, both the first data and the second data may correspond to the timestamp of the first audio data, and both the first data and the second data are used to represent the playback progress of the first audio data.
[0113] It can be understood that the first data is the data fed back by the player to the controller 250, and the data format of the first data before conversion is int64. The second data is the data obtained after the controller 250 performs data conversion on the first data, and the data format of the second data is int32. In this way, the second data can be within the data preset range of the audio playback control module through data conversion.
[0114] In some embodiments, when performing data conversion on the first data, the controller 250 is configured to:
[0115] A modulo operation is performed on the first data based on a maximum value corresponding to the second data to obtain the second data.
[0116] The playing progress of the first audio data is determined based on the second data.
[0117] In some embodiments, when the controller 250 obtains the first data, it is also necessary to perform a modulo operation on the first data, that is, to perform a modulo operation on the first data based on the maximum value that can be represented by the int32 data format. For example, the second data = the first data% 214783647, so that the second data will not exceed the maximum value range corresponding to the int32 data format, and can still correspond to the actual playback progress of the first audio data, which can ensure that the playback progress sent to the player is continuous with the playback progress when the player uploads, and then the player can align the first audio data and video data according to the playback progress sent by the audio playback module, and continue to play the media data.
[0118] It is understandable that the second playback progress information determined by the second data is the same as the first playback progress information determined by the first data, but the data formats corresponding to each of them are different. In some embodiments of the present application, the data format conversion is completed based on the modulus operation, so that the audio playback control module can update various key information about the playback progress of the first audio data according to the first data fed back by the player, and then under the condition that the data formats corresponding to the framework layer and the hardware abstraction layer are different, the playback progress of the first audio data can still be normally fed back to the player, so that the player can continue to play the media data without restriction.
[0119] S400: Obtain the total playback progress of the first audio data.
[0120] In some embodiments, the audio playback control module stores the total playback progress of the first audio data, and dynamically updates the total playback progress based on the first data of the first audio data fed back by the player, so that the audio playback control module can continuously provide the first audio data to the player, so that the player decodes these first audio data to complete the continued playback of the media data.
[0121] like Figure 7 As shown, by dynamically updating the total playback progress, data can be prepared for the player along with the updated total playback progress to ensure that the player will not be interrupted during the loop playback process, thereby adapting to the needs of loop playback.
[0122] In some embodiments, the total playback progress corresponds to the total progress data, and the controller 250 executes updating of the total progress data, which is specifically configured as follows:
[0123] A maximum value that can be represented by the second data is obtained.
[0124] Calculate a first sum of the value corresponding to the total progress data and the maximum value.
[0125] The total progress data is updated based on the first sum value.
[0126] It is understandable that the data format corresponding to the second data is int32, that is, the maximum value that can be represented by the second data is 214783647. Each time the total progress data is updated, it is determined that the next loop playback cycle has been entered. Therefore, the maximum value that can be represented by the second data is increased on the basis of the total progress data. When the playback progress corresponding to the first audio data is wrapped around, the first audio data and the video data can be synchronized by maintaining the continuous growth of the total progress data.
[0127] In this way, the controller 250 calculates the first sum of the value corresponding to the total progress data and the maximum value corresponding to the second data, that is, when it is determined that the media asset playback loops to the next cycle, the total progress data can be updated. In addition, the continuous growth of the total progress data can also ensure that it is sufficient to cover at least one wrap-around cycle of the first audio data, thereby ensuring that the amount of the first audio data transmitted to the player is sufficient, so that the player will not be interrupted during the loop playback process.
[0128] S500: Generate third data based on the second data and the total progress data used to represent the total playback progress; the third data has the same data representation range as the first data; the third data has the same playback progress as the first audio data represented by the first data.
[0129] In some embodiments, the data format of the third data can be int64, and the third data is used to input into the player to input the playback progress of the first audio data to the player, so that the player can synchronize the first audio data and video data according to the third data and continue to play.
[0130] It should be noted that the play progress of the first audio data represented by the third data and the first data is the same, so that the continuous first audio data can be transmitted to the player to ensure that the player plays the media data in a seamless loop.
[0131] In some embodiments, the data format used by the HAL layer associated with the player is int64, so the player can receive the third data in int64 data format and continue playing according to the third data. The controller 250 can generate the third data according to the second data and the total progress data, and the controller 250 is configured as follows:
[0132] The total progress data and the second data are obtained.
[0133] A second sum of the value corresponding to the total progress data and the value corresponding to the second data is calculated.
[0134] Third data is generated based on the second sum value.
[0135] In some embodiments, the controller 250 generates third data by calculating the second sum of the value corresponding to the total progress data and the maximum value corresponding to the second data, that is, when determining that the media asset playback has entered the next cycle, and sends the third data to the player.
[0136] It should be noted that the third data can also be used to characterize the total number of first audio data played from the start of media data playback to the current moment, and then by adding the second data on the basis of the total progress data, the exact position of the current first audio data playback can be determined. Even if the playback progress of the first audio data wraps around, the player can determine the playback progress corresponding to the first audio data through the third data. Therefore, when the player determines the playback progress of the first audio data, it is not subject to the 32-bit data wraparound limit, which is conducive to the player's unlimited loop playback of media data.
[0137] S600: Control the display to continue playing the media asset data based on the third play progress.
[0138] like Figure 7 As shown, after generating the third data, the controller 250 aligns the first audio data and the video data based on the third play progress represented by the third data, and then controls the display 260 to loop and play the media data composed of the first audio data and the video data.
[0139] It should be noted that in some embodiments of the present application, the media data is played in a loop in the display 260 through the player. In the above embodiment, the player only obtains the third data used to characterize the playback progress. In the actual playback process, the media data is composed of audio data and video data, and the third data is only used to indicate the playback progress of the first audio data. Therefore, the controller 250 or the player needs to process the video data, that is, the controller 250 controls the display to continue playing the media data based on the third playback progress, and is specifically configured as follows:
[0140] The play progress of the video data is corrected based on the third play progress represented by the third data, so as to synchronize the play progress of the first audio data and the video data.
[0141] The display is controlled to continue playing the video data after the progress is synchronized, and the speaker is controlled to play the first audio data after the progress is synchronized.
[0142] In some embodiments, the player can synchronize the first audio data and the video data according to the third playback progress represented by the third data. The third playback progress can correspond to the timestamp of the first audio data, so that the player can synchronize the first audio data and the video data through the correspondence between the timestamp in the first audio data and the timestamp in the video data. This can ensure the synchronization of audio and video during the loop playback process, and can also enable the player to feedback the accurate playback progress of the first audio data in the subsequent feedback of the playback progress, so as to maintain the loop playback scenario.
[0143] It is understandable that after the first audio data and video data included in the media data are synchronized, the player can play the video data through the display. In addition, the first audio data can be played by the speaker. Then, the display 260, the player, the speaker and the controller 250 cooperate to realize the cyclic playback of the media data.
[0144] like Figure 8 As shown, when the controller 250 obtains the first data fed back by the player for representing the playback progress of the first audio data, it can determine whether the current playback has entered the next loop playback cycle according to the playback progress of the first audio data represented by the first data, and then update the key information such as the total playback progress. The controller 250 is also configured to:
[0145] A first update threshold and a second update threshold are obtained; the first update threshold is equal to reference data; the reference data is used to represent reference progress information; the reference progress information is used to represent the playback progress of the first audio data obtained last time.
[0146] If the second data is less than the first update threshold, and the interpolation of the reference data and the second data is greater than the second update threshold, the total progress data is updated, and the second data is set as the reference data.
[0147] In some embodiments, the controller 250 can determine whether the current playback progress of the first audio has entered the next playback cycle compared to the previous playback cycle by obtaining the first update threshold and the second update threshold. The first update threshold is equal to the reference data, and the reference data is the first data obtained by the controller 250 in the previous playback cycle. In this way, by comparing the first data obtained in the current cycle with the first data obtained in the previous playback cycle, it can be roughly determined whether the current playback progress of the first audio data has entered the next playback cycle compared to the previous playback cycle.
[0148] For example, if the playback progress represented by the first data received by the controller 250 in the current playback cycle is ahead of the playback progress represented by the reference data, it is highly likely that the current playback cycle is a subsequent playback cycle of the previous playback cycle. In addition, the second update threshold can be combined to jointly determine whether the current playback cycle is a subsequent playback cycle of the previous playback cycle.
[0149] In some embodiments, the second update threshold value = half of the maximum value corresponding to the second data. When the controller executes the acquisition of the first update threshold value and the second update threshold value, it is specifically configured as follows:
[0150] Obtain a maximum value corresponding to the second data.
[0151] The second update threshold is determined based on half of the maximum value.
[0152] In this way, through the auxiliary judgment of the second update threshold, it is possible to avoid the situation where the playback cycle period is incorrectly judged due to audio pause and audio playback speed slowdown. Under the setting of the first update threshold and the second update threshold, when the playback progress of the first audio data exceeds half of the 32-bit period, and the playback progress of the currently received first audio data is before the playback progress of the first audio data represented by the reference data, the controller 250 determines that the playback of the first audio data has been wrapped, that is, the playback cycle corresponding to the currently played first audio data is the subsequent playback cycle of the playback cycle represented by the reference data.
[0153] In this way, when the controller 250 receives the playback progress of the first audio data fed back by the player, it can prioritize determining whether the current playback cycle of the first audio data is a subsequent playback cycle of the previous playback cycle, and then update key information such as the total playback progress of the first audio data to ensure the accuracy of the playback progress sent to the player and maintain the loop playback.
[0154] like Fig. 9 As shown, the user can still send a control instruction to the display device 200 during the loop playback process, so that the display device 200 performs the function corresponding to the control instruction. That is, the controller performs the playback of the media asset data, and is also configured as follows:
[0155] In response to a received fast-forward instruction or a fast-rewind instruction, a sudden change playback progress corresponding to the fast-forward instruction or the fast-rewind instruction is determined.
[0156] The media asset data is continued to be played based on the sudden change in the playing progress, and the total playing progress is updated based on the sudden change in the playing progress.
[0157] In some embodiments, during the playback of media data, the user sends a fast forward / fast rewind instruction to the display device 200 through the user input interface 280. When the display device 200 receives the fast forward / fast rewind instruction, the controller 250 can control the playback progress of the media data, so that the playback progress of the first audio data and the video data is adjusted according to the playback position indicated by the fast forward / fast rewind instruction. The sudden playback progress here refers to the playback progress of the first audio data after fast forwarding or fast rewinding.
[0158] It is understandable that when the controller 250 performs a fast forward or fast rewind operation, the total progress information will be updated according to the position of the fast forward or fast rewind, so that the total progress information will include the first audio data skipped during the fast forward or fast rewind stage, which will cause the total progress information to be inaccurate in terms of the position information. In this way, when the playback progress information sent to the player is determined based on the total progress information, it will also be inaccurate, making it difficult for the player to continue playing the media asset data according to the correct playback starting point.
[0159] Therefore, the controller 250 can reset the total playback progress in the scenario of fast forward or fast rewind to ensure that the playback progress information sent to the player is the same as the actual playback progress of the first audio data, so as to ensure that the player can play the media data in a normal loop.
[0160] like Fig.10 As shown, during the loop playback, the user can also control the display device 200 to switch audio tracks to obtain different viewing experiences based on the dubbing corresponding to different audio tracks. The controller 250 is also configured to:
[0161] In response to the received audio track switching instruction, the first audio data of the media asset data is switched to the second audio data.
[0162] The total playback progress is updated based on the total playback progress corresponding to the second audio data, and the second audio data and the video data in the media asset data are synchronized.
[0163] In some embodiments, the user may send a track switching instruction to the display device 200 through the user input interface 280. After receiving the track switching instruction, the display device 200 switches to the track corresponding to the track switching instruction to play the second audio data in conjunction with the video data.
[0164] It is understandable that after switching to a new audio track, the total playback progress will continue to be updated, but the total playback progress is not the total playback progress corresponding to the new audio track, which makes it impossible to accurately monitor the playback progress of the second audio data, and the player cannot obtain the playback progress of the second audio data, which will cause the player to fail to play the media data in a normal loop.
[0165] Therefore, when switching audio tracks, the controller 250 can reset the total playback progress so that the total playback progress corresponds to the data volume of the second audio data, and then can track the playback progress of the second audio data according to the reset total playback progress, and enable the player to obtain the playback progress of the second audio data. In this way, the player can synchronize the second audio data and the video data according to the obtained playback progress of the second audio data, and in the scenario of audio track switching, normally loop play the media data.
[0166] Some embodiments of the present application provide a video loop playback method, including:
[0167] In response to the received loop play instruction, media data is played; the media data includes audio data.
[0168] Get the first playback progress of the audio data.
[0169] Performing data conversion on the first data used to represent the first playback progress to obtain second data; the second data is used to represent the second playback progress; the data representation range of the first data is greater than the data representation range of the second data; the audio data playback progress represented by the first data and the second data is the same.
[0170] Get the total playback progress of the audio data.
[0171] Generating third data based on the second data and the total progress data used to characterize the total playback progress; the third data has the same data representation range as the first data; the third data has the same audio data playback progress as the first data.
[0172] The media asset data is continued to be played based on the third play progress.
[0173] It can be known from the above technical content that the present application provides a display device and a video loop playback method. The display device performs data conversion on the first integer data when acquiring the first integer data for representing the first playback progress of the audio data, thereby obtaining the second integer data for representing the second playback progress of the audio data. The first playback progress and the second playback progress are the same, but the data identification range of the first integer data is larger than the second integer data. In this way, through the process of data conversion, the second integer data used to represent the second playback progress is not easy to exceed the maximum value, thereby alleviating the problem of player freeze caused by the second integer data representing the second playback progress exceeding the maximum value.
[0174] Similar parts between the embodiments provided in this application can be referenced to each other. The specific implementation methods provided above are only a few examples under the general concept of this application and do not constitute a limitation on the protection scope of this application. For those skilled in the art, any other implementation methods expanded based on the scheme of this application without creative work belong to the protection scope of this application.
Claims
1. A display device, characterized in that: include: monitor; The controller is configured as: In response to the received loop play instruction, controlling the display to play media data; the media data includes first audio data; Obtaining a first playback progress of the first audio data; Performing data conversion on first data used to represent the first playback progress to obtain second data; the second data is used to represent the second playback progress; the data representation range of the first data is greater than the data representation range of the second data; the first audio data represented by the first data and the second data have the same playback progress; Obtaining the total playback progress of the first audio data; generating third data based on the second data and the total progress data used to represent the total playback progress; the third data has the same data representation range as the first data; and the third data has the same playback progress as the first audio data represented by the first data; The display is controlled to continue playing the media asset data based on the playing progress represented by the third data.
2. The display device according to claim 1, characterized in that The controller performs data conversion on the first data used to represent the first playback progress to obtain second data, and is specifically configured as follows: Performing a modulo operation on the first data based on a maximum value corresponding to the second data to obtain the second data; The playing progress of the first audio data is determined based on the second data.
3. The display device according to claim 2, characterized in that The controller performs data conversion on the first data used to represent the first playback progress to obtain second data, and is further configured to: Obtaining a first update threshold and a second update threshold; the first update threshold is equal to reference data; the reference data is used to represent reference progress information; The reference progress information is used to represent the playback progress of the first audio data acquired last time; If the second data is less than the first update threshold, and the interpolation of the reference data and the second data is greater than the second update threshold, the total progress data is updated, and the second data is set as the reference data.
4. The display device according to claim 3, characterized in that The controller executes obtaining the first update threshold and the second update threshold, and is specifically configured as follows: Obtaining a maximum value corresponding to the second data; The second update threshold is determined based on half of the maximum value.
5. The display device according to claim 3, characterized in that The controller executes updating of the total progress data, and is specifically configured as follows: Obtaining a maximum value that can be represented by the second data; Calculate a first sum of the value corresponding to the total progress data and the maximum value; The total progress data is updated based on the first sum value.
6. The display device according to claim 1, characterized in that The controller generates third data based on the second data and the total progress data used to represent the total playback progress, and is specifically configured as follows: Acquire the total progress data and the second data; Calculate a second sum of the value corresponding to the total progress data and the value corresponding to the second data; Third data is generated based on the second sum value.
7. The display device according to claim 1, characterized in that The media asset data also includes video data; the controller controls the display to continue playing the media asset data based on the third play progress, and is specifically configured as follows: Correcting the playback progress of the video data based on a third playback progress represented by the third data, so as to synchronize the playback progress of the first audio data with the video data; The display is controlled to continue playing the video data after the progress is synchronized, and the speaker is controlled to play the first audio data after the progress is synchronized.
8. The display device according to claim 1, characterized in that The controller plays the media asset data and is further configured to: In response to a received fast-forward instruction or a fast-rewind instruction, determining a sudden change playback progress corresponding to the fast-forward instruction or the fast-rewind instruction; The media asset data is continued to be played based on the sudden change in the playing progress, and the total playing progress is updated based on the sudden change in the playing progress.
9. The display device according to claim 1, characterized in that: The controller plays the media asset data and is further configured to: In response to the received audio track switching instruction, switching the first audio data of the media asset data to the second audio data; The total playback progress is updated based on the total playback progress corresponding to the second audio data, and the second audio data and the video data in the media asset data are synchronized.
10. A video loop playback method, characterized in that: include: In response to the received loop play instruction, play the media asset data; the media asset data includes audio data; Obtaining a first playback progress of the audio data; Performing data conversion on first data used to represent the first playback progress to obtain second data; the second data is used to represent the second playback progress; the data representation range of the first data is greater than the data representation range of the second data; the audio data playback progress represented by the first data and the second data is the same; Obtain the total playback progress of the audio data; Generating third data based on the second data and the total progress data used to represent the total playback progress; the third data has the same data representation range as the first data; and the third data represents the same audio data playback progress as the first data; The media asset data is continued to be played based on the third play progress.
Citation Information
Patent Citations
Method and device for presenting progress bars
CN103914303A
Mobile phone interconnection audio playing processing method
CN111556467A
Webpage video playing method and device
CN114051161A
Wireless signal strength indication
CN116437304A
Media asset playing method and display device
CN117294899A