WO2024007710A1 - 动画播放方法、装置、电子设备和计算机可读存储介质 - Google Patents

动画播放方法、装置、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
WO2024007710A1
WO2024007710A1 PCT/CN2023/091844 CN2023091844W WO2024007710A1 WO 2024007710 A1 WO2024007710 A1 WO 2024007710A1 CN 2023091844 W CN2023091844 W CN 2023091844W WO 2024007710 A1 WO2024007710 A1 WO 2024007710A1
Authority
WO
WIPO (PCT)
Prior art keywords
animation
playback
exit
target
startup
Prior art date
Application number
PCT/CN2023/091844
Other languages
English (en)
French (fr)
Inventor
王斌宏
丁唐
Original Assignee
惠州Tcl移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 惠州Tcl移动通信有限公司 filed Critical 惠州Tcl移动通信有限公司
Publication of WO2024007710A1 publication Critical patent/WO2024007710A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Definitions

  • the present application relates to the field of animation technology, and specifically to an animation playback method, device, electronic equipment and computer-readable storage medium.
  • Embodiments of the present application provide an animation playback method, device, electronic device, and computer-readable storage medium, which can solve the technical problem of unsmooth connection between starting animation playback and exiting animation playback.
  • An embodiment of the present application provides an animation playback method, including:
  • an animation playback device including:
  • the monitoring module is used to monitor the target startup animation being played
  • the acquisition module is used to obtain the playback progress of the above-mentioned target startup animation if the exit command for the above-mentioned target startup animation is monitored;
  • the playback module is used to start the playback progress of the animation according to the above goals and play the exit animation
  • the execution module is used to execute an interrupt transaction when the above-mentioned exit animation is completed to display the interface before the above-mentioned target startup animation is played.
  • an embodiment of the present application also provides an electronic device, including a processor and a memory.
  • the memory stores a computer program.
  • the processor is used to run the computer program in the memory to implement the animation playback method provided by the embodiment of the present application.
  • embodiments of the present application also provide a computer-readable storage medium.
  • the computer-readable storage medium stores a computer program.
  • the computer program is suitable for loading by the processor to execute any animation provided by the embodiments of the present application. Play method.
  • embodiments of the present application also provide a computer program product, including a computer program.
  • a computer program product including a computer program.
  • any animation playback method provided by the embodiments of the present application is implemented.
  • the target startup animation being played is monitored. If the exit command for the target startup animation is monitored, the playback progress of the target startup animation is obtained. Then play the exit animation according to the playback progress of the target startup animation. When the exit animation playback is completed, an interrupt transaction is executed to display the interface before the playback target starts the animation.
  • the exit animation when the exit command of the target startup animation is monitored, the exit animation is first played according to the playback progress of the target startup animation, so that the playback of the target startup animation and the playback of the exit animation are seamlessly connected, and then the exit animation is When the playback is completed, the interrupt transaction is executed to avoid the phenomenon that when the exit instruction is obtained, the interrupt transaction is executed first and then the exit animation is played, causing the playback of the startup animation and the playback of the exit animation to be unsmooth.
  • Figure 1 is a schematic diagram of an animation playback method provided by an embodiment of the present application.
  • Figure 2 is a schematic diagram of the registration process of the target startup animation provided by the embodiment of the present application.
  • Figure 3 is a schematic diagram of the interrupt animation management class and intermediate services provided by the embodiment of the present application.
  • Figure 4 is a schematic diagram of a target startup animation provided by an embodiment of the present application.
  • Figure 5 is a schematic diagram of another animation playback method provided by an embodiment of the present application.
  • Figure 6 is a schematic diagram of another animation playback method provided by an embodiment of the present application.
  • Figure 7 is an interactive schematic diagram of the interrupt animation management class, intermediate services, animation playback process and interrupt transactions provided by the embodiment of the present application;
  • Figure 8 is a schematic diagram of the logout process of the target startup animation provided by the embodiment of the present application.
  • Figure 9 is a schematic diagram of the logout process and registration process of the target startup animation provided by the embodiment of the present application.
  • Figure 10 is a schematic structural diagram of an animation playback device provided by an embodiment of the present application.
  • Figure 11 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • Embodiments of the present application provide an animation playback method, device, electronic device, and computer-readable storage medium.
  • the animation playback device can be integrated in an electronic device, and the electronic device can be a server, a terminal or other equipment.
  • the server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, and cloud communications. , middleware services, domain name services, security services, network acceleration services (Content Delivery Network, CDN), and cloud servers for basic cloud computing services such as big data and artificial intelligence platforms.
  • cloud services cloud databases, cloud computing, cloud functions, cloud storage, network services, and cloud communications.
  • middleware services domain name services, security services, network acceleration services (Content Delivery Network, CDN)
  • cloud servers for basic cloud computing services such as big data and artificial intelligence platforms.
  • the terminal can be a smartphone, tablet, laptop, desktop computer, smart speaker, smart watch, etc., but is not limited to this.
  • the terminal and the server can be connected directly or indirectly through wired or wireless communication methods, which is not limited in this application.
  • the description will be made from the perspective of the animation playback device.
  • the animation playback device will be integrated in the terminal for detailed description, that is, the terminal will be used as the execution subject. .
  • FIG. 1 is a schematic flowchart of an animation playback method provided by an embodiment of the present application.
  • the animation playback method can include:
  • the startup animation can be a picture dynamically displayed on the screen of the terminal where the client is located during the startup process of the client. For example, when the client is an application, and the terminal responds to the triggering operation on the application's icon, it first dynamically displays the application's icon, and then dynamically displays the application's interface until the application's interface fills the terminal's screen, then Dynamically display application icons and interface screens to form startup animations.
  • Clients can be small programs, web pages, applications, terminal startup programs, etc.
  • the type of client the user can choose according to the actual situation, which is not limited in this embodiment.
  • the terminal can first register the target startup animation of the client, so that when it detects that the target startup animation is being played, it can monitor the target startup animation.
  • the terminal can also register the target startup animation when the target startup animation is being played. At this time, the terminal can monitor the target startup animation being played, including:
  • the target startup animation when it is detected that the target startup animation is playing, the target startup animation is registered to monitor the target startup animation, including:
  • the trigger function in the intermediate service is called by calling the interface to monitor the target startup animation.
  • the intermediate service can be a bind service.
  • the registration function and the trigger function are located in the intermediate service.
  • the terminal does not have the function of directly calling the intermediate service. Therefore, the interrupt animation management class is set, and the interrupt animation management class includes The calling interface of the intermediate service is created, and then by interrupting the calling interface in the animation management class, the registration function and triggering function of the intermediate service are called to monitor the target startup animation.
  • obtaining the target startup animation by interrupting the animation management class may mean obtaining the identification of the target startup animation and the exit action of the target startup animation by interrupting the animation management class.
  • the terminal calls the registration function (addBreakTarget) of the intermediate service (BreakAnimManagerService) by interrupting the calling interface (getService) in the animation management class (BreakAnimManager).
  • the exit action (int event) of the startup animation and the identification of the target startup animation (IBreakableTarget) register the target startup animation.
  • using the registration function in the intermediate service to register the target startup animation can be: void addBreakTarget(int event,IBreakableTarget target).
  • the exit action of the target start animation and the identification of the target start animation are sent to the interrupt animation management class, and the terminal then sends the exit animation of the target start animation and the identification of the target start animation through the calling interface in the interrupt animation management class.
  • Sent to the intermediate service and finally the terminal uses the registration function in the intermediate service to register the target startup animation.
  • the terminal After successfully registering the target startup animation, the terminal then uses the trigger function (breakAnim) in the intermediate service to monitor the target startup animation.
  • breakAnim the trigger function
  • the registration and monitoring of the target startup animation are implemented by interrupting the animation management class and intermediate services, when it is detected that the target startup animation is playing, before obtaining the target startup animation by interrupting the animation management class, it also includes :
  • Animation represents the animation playback process corresponding to the target startup animation.
  • the interruption animation management class can exist in the form of a software development kit (Software Development Kit, SDK), so that the interruption animation management class can be inserted into the application.
  • SDK Software Development Kit
  • the playback progress of the target startup animation can dynamically refer to the frame to which the terminal screen is dynamically displayed.
  • the playback progress of the target startup animation can also refer to the size of the window corresponding to the target startup animation. For example, when the window corresponding to the target startup animation When the size of is 70% (that is, the window corresponding to the target startup animation occupies 70% of the screen), and the exit command of the target startup animation is monitored, the playback progress of the target startup animation is 70%.
  • the terminal can play the exit animation according to the playback progress of the target startup animation, making the connection between the playback of the exit animation and the playback of the target startup animation smoother.
  • the exit animation also starts playing from 70%.
  • the exit animation and the target startup animation can be the same type of animation, or they can be different types of animation.
  • the exit animation and the target start animation can be the same type of animation, which means that the content of the exit animation and the target start animation are the same.
  • the exit animation and the target start animation can be different types of animation, which can mean that the content of the exit animation and the target start animation are the same. The content of the animation is different.
  • the content of the exit animation is the same as the content of the target startup animation. It can mean that the content corresponding to the size of the window corresponding to the target startup animation corresponds to the size of the window corresponding to the exit animation. The content is the same. The content of the exit animation is different from the content of the target startup animation. The content corresponding to the size of the window corresponding to the target startup animation is different from the content corresponding to the size of the window corresponding to the exit animation.
  • the application icon when the size of the window corresponding to the target startup animation is 0-30%, the application icon is dynamically displayed in the window corresponding to the target startup animation. At this time, the target startup animation is dynamically displayed.
  • the screen of the application icon, 401 in Figure 4 is the screen displayed by the terminal when the size of the window corresponding to the target startup animation is 15%
  • 402 in Figure 4 is the screen when the size of the window corresponding to the target startup animation is 30%. The screen displayed by the terminal.
  • the interface of the application is dynamically displayed in the window corresponding to the target startup animation.
  • 403 in Figure 4 is the screen displayed by the terminal when the size of the window corresponding to the target startup animation is 70%.
  • 404 in Figure 4 is the screen displayed by the terminal when the size of the window corresponding to the target startup animation is 100%.
  • the window corresponding to the target startup animation covers the entire screen, that is, the application interface covers the entire screen.
  • the interface of the application is also dynamically displayed in the window that exits the animation. During the process that the size of the window that exits the animation is 30%-0, it is also displayed. If the application icon is dynamically displayed in the window of the exit animation, the content of the exit animation will be the same as the content of the target startup animation.
  • the size of the window of the exit animation is 100%-61%, the interface of the application is dynamically displayed in the window of the exit animation, and the size of the window of the exit animation is 60%-0, during the exit animation If the application icon is dynamically displayed in the window, the content of the exit animation will be different from the content of the target startup animation.
  • the exit animation When the exit animation and the target startup animation are of the same type of animation, the exit animation will be played according to the playback progress of the target startup animation, including:
  • the target startup animation is played back to play the exit animation.
  • the target startup animation can be directly played back according to the playback progress of the target startup animation, thereby playing the exit animation.
  • the target startup animation is the startup animation of the application.
  • the target startup animation starts playing at 0%.
  • the target starts When the playback progress of the animation is 70%, and an exit command is received, the start animation will be played back from 70%.
  • the exit animation will be played according to the playback progress of the target startup animation, including:
  • the target startup animation is the startup animation of the application.
  • the target startup animation starts playing from 0%.
  • the playback progress of the target startup animation is 70% and the exit instruction is received
  • the starting playback position of the exit animation is 70%. That is, the size of the window corresponding to the exit animation is 70% of the screen.
  • the exit animation and the target startup animation are different types of animations, so that different animations are played during the startup and exit processes of the client, bringing a better experience to the user.
  • the exit animation can be the exit animation corresponding to the target startup animation.
  • the exit animation and the target startup animation can first establish an association, and then the terminal will find the exit animation corresponding to the target startup animation from the association.
  • the target startup animation and exit can be Animations are associated with clients respectively. The terminal first determines the client corresponding to the target startup animation, and then searches for the exit animation corresponding to the client corresponding to the target startup animation.
  • the exit instruction includes an exit action
  • the exit animation is played according to the playback progress of the target startup animation, including:
  • the exit animation corresponding to the exit action is played.
  • one exit action can correspond to one exit animation, thereby enriching the diversity of exit animations and improving user experience.
  • the exit action may include triggering the Home button, sliding up, sliding up, sliding left, sliding right, etc.
  • the target startup animation before obtaining the target startup animation, it also includes:
  • the animation playback process includes the playback code for the target to start the animation and the playback code for exiting the animation;
  • the exit animation is played, including:
  • the exit animation is played according to the playback progress of the target startup animation.
  • the animation When the animation is played, it needs to be initialized first to load animation resources.
  • the target startup animation is the startup animation of an application
  • the playback code of the target startup animation and the playback code of the exit animation are located in the same process.
  • the context information of the animation playback process of the target startup animation can be directly used. Refers to the variables and data when the animation playback process is running), so that when playing the exit animation, there is no need to initialize animation resources, thereby further improving the connection between the playback of the target startup animation and the playback of the exit animation.
  • Interrupting the transaction includes the operation of returning to the interface before the target startup animation is played. For example, if the target startup animation is the startup animation of the application, then when the exit animation is completed, perform the operation of returning to the desktop to return to the desktop.
  • the execution time of the interrupt transaction is long, if the interrupt transaction is executed first and then the exit animation is played, the time between the playback of the target startup animation and the playback of the exit animation will be longer, causing the playback and exit of the target startup animation.
  • the animation playback connection is not smooth. When the terminal performance is poor, the target startup animation playback and exit animation playback are not smooth.
  • the exit instruction when playing the target startup animation, the exit instruction is obtained, and the target startup animation is saved.
  • the playback progress of the animation animation is executed, the interrupt transaction is executed, and then the playback progress of the target startup animation is obtained. Finally, the exit animation is played according to the playback progress of the target startup animation.
  • the exit animation is played first, and when the exit animation is completed, the interrupt transaction is executed, so that the playback of the target startup animation and the playback of the exit animation are seamlessly connected, and the playback of the target startup animation and the exit animation are improved.
  • the connection between playback ensures that even in terminals with poor performance, there will be no smooth connection between the playback of the target startup animation and the playback of the exit animation, improving user experience.
  • the exit animation is played according to the playback progress of the target startup animation, and then the interrupt transaction is executed.
  • the exit animation is played according to the playback progress of the target startup animation, and when the exit animation is completed, an interrupt transaction is executed, including:
  • the first startup sequence precedes the second startup sequence
  • the first startup sequence and the second startup sequence, the exit process and the interruption process are started, so that when the exit animation playback is completed, the interruption transaction is executed.
  • the first startup sequence precedes the second startup sequence, and then the exit is initiated according to the first startup sequence and the second startup sequence. process and interrupt the process, so that when the exit animation is completed, the interrupt transaction is executed.
  • the exit process is the animation playback process. Since the animation playback process will pause execution when the exit instruction to start the animation for the target is obtained, therefore, at this time , the first startup sequence may be the sequence in which the animation playback process continues to be started.
  • the exit process corresponding to the exit animation refers to the playback process of the exit animation
  • the interrupt process of interrupting the transaction refers to the execution process of interrupting the transaction.
  • the terminal monitors the target startup animation through the trigger function in the intermediate service, if it monitors the exit instruction for the target startup animation, it obtains the playback progress of the target startup animation, and plays the exit animation according to the playback progress of the target startup animation, including :
  • the exit instruction is sent to the listening function in the animation playback process corresponding to the target startup animation through the trigger function;
  • the animation playback process corresponding to the target startup animation is used to obtain the playback progress of the target startup animation, and the exit animation is played according to the playback progress of the target startup animation.
  • the exit instruction is sent to the listening function through the trigger function.
  • the animation playback process is used to play back the target startup animation, thereby achieving Exit animation playback.
  • the exit instruction for the target startup animation is monitored through the trigger function, the exit instruction is sent to the listening function in the animation playback process corresponding to the target startup animation through the trigger function, including:
  • the interrupt transaction identifier corresponding to the target startup animation is obtained
  • interrupt transactions are executed, including:
  • the exit instruction (exit action) is obtained through the trigger function
  • the exit instruction and the interrupt transaction identifier (IBreakAnimFinishedCallback callback) are sent to the listening function through the trigger function.
  • the form of the trigger function can be For int breakAnim(int event,IBreakAnimFinishedCallback callback)
  • the listening function The number (onBreak) can obtain the exit instruction (exit action) and interrupt transaction identifier in the form of onBreak(int event,IBreakAnimFinishedCallback callback).
  • the terminal thus obtains the interrupt transaction identifier through the listening function. Then when the animation playback process is used and the exit animation is completed, the exit instruction is sent to the interface corresponding to the interrupt transaction identifier (onBreakAnimFinished) through the animation playback process. Finally, through the interface corresponding to the interrupt transaction identifier, the exit instruction is executed according to the exit instruction. interrupt the transaction.
  • the exit detection process can be the Home process, for example
  • the animation playback process There is no direct communication between the exit detection process (the exit detection process can be the Home process, for example) and the animation playback process. Therefore, in this embodiment, an interruption animation management class and an intermediate service are established.
  • the exit command and interrupt transaction identifier are sent to the interrupt animation management class, and then the exit action and interrupt transaction identifier are sent to the animation playback process through the interrupt animation management class and intermediate services, thereby realizing the exit detection process and animation.
  • Cross-process communication for playback processes are possible to playback processes.
  • the exit detection process detects the client's exit action and obtains the interruption transaction identifier.
  • the trigger function in the intermediate service is called to obtain the exit action and interruption from the exit detection process.
  • the transaction identifier that is, through the interrupt animation management class, sends the exit action and interrupt transaction interface identifier to the trigger function in the intermediate service.
  • the exit action and interrupt transaction identifier are sent to the listening function in the animation playback process of the target startup animation.
  • the exit animation is played according to the playback progress of the target startup animation.
  • the interrupt transaction identifier is obtained from the listening function and the interrupt transaction is called. Identify the corresponding interface and execute the interruption transaction to return to the interface before the playback target starts the animation. That is, when the exit animation is completed, the exit action is sent to the interface corresponding to the interruption transaction identification to perform interruption. affairs.
  • the target startup animation can be logged out, so that there is no need to monitor the target startup animation all the time.
  • the trigger function in the intermediate service is called by calling the interface to monitor the target startup animation, which also includes:
  • the logout function in the intermediate service is called to log out the target startup animation.
  • the call interface of the animation management class is interrupted and the logout function (removeBreakTarget) in the intermediate service is called to log out the target startup animation.
  • the logout form can be void. removeBreakTarget(IBreakableTarget target).
  • the playback completion command is obtained through the interrupt animation management class
  • the playback completion command is sent to the intermediate service through the calling interface of the interrupt animation management class, and then the target startup animation is executed through the logout function in the intermediate service. Logout.
  • the target startup animation when the target startup animation starts to play, the target startup animation is registered through the registration function in the intermediate service.
  • the target startup animation is completed, the target startup animation is logged out through the cancellation function in the intermediate service ( As shown in Figure 9), it is possible to monitor the target startup animation when the target startup animation is played, and end the monitoring of the target startup animation when the target startup animation is played.
  • the target startup animation being played is monitored. If the exit command for the target startup animation is monitored, the playback progress of the target startup animation is obtained. Then play the exit animation according to the playback progress of the target startup animation. When the exit animation playback is completed, an interrupt transaction is executed to display the interface before the playback target starts the animation.
  • the exit animation when the exit instruction of the target startup animation is monitored, the exit animation is first played according to the playback progress of the target startup animation, so that the playback of the target startup animation and the playback of the exit animation are seamlessly connected, and then the exit animation is played.
  • the interrupt transaction is executed to avoid the phenomenon that when the exit command is obtained, the interrupt transaction is executed first and then the exit animation is played, which causes the playback of the startup animation and the playback of the exit animation to be unsmooth.
  • the embodiment of the present application also provides a device based on the above animation playback method.
  • the meanings of the nouns are the same as those in the above animation playback method.
  • the animation playback device may include:
  • the monitoring module 1001 is used to monitor the target startup animation being played.
  • the acquisition module 1002 is configured to obtain the playback progress of the target startup animation if an exit instruction for the target startup animation is monitored.
  • the playback module 1003 is used to play the exit animation according to the playback progress of the target startup animation.
  • the execution module 1004 is used to execute an interrupt transaction when the exit animation is completed to display the interface before the playback target starts the animation.
  • the animation playback device also includes:
  • Instruction acquisition module for execution :
  • the animation playback process is started according to the animation playback instruction, and the animation is started with the playback target.
  • the animation playback process includes the playback code for the target to start the animation and the playback code for exiting the animation.
  • the playback module 1003 is specifically used to execute:
  • the exit animation is played according to the playback progress of the target startup animation.
  • the playback module 1003 is specifically used to execute:
  • the first startup sequence precedes the second startup sequence
  • the first startup sequence and the second startup sequence, the exit process and the interruption process are started, so that when the exit animation playback is completed, the interruption transaction is executed.
  • the listening module 1001 is specifically used to execute:
  • the listening module 1001 is specifically used to execute:
  • the trigger function in the intermediate service is called by calling the interface to monitor the target startup animation.
  • the acquisition module 1002 is specifically used to execute:
  • the exit instruction is sent to the listening function in the animation playback process corresponding to the target startup animation through the trigger function.
  • the playback module 1003 is specifically used to execute:
  • the animation playback process corresponding to the target startup animation is used to obtain the playback progress of the target startup animation, and the exit animation is played according to the playback progress of the target startup animation.
  • the acquisition module 1002 is specifically used to execute:
  • the interrupt transaction identifier corresponding to the target startup animation is obtained
  • execution module 1004 is specifically used to execute:
  • the animation playback device also includes:
  • the animation playback device also includes:
  • the logout function in the intermediate service is called to log out the target startup animation.
  • exit animation and the target startup animation are the same type of animation.
  • the playback module 1003 is specifically used to execute:
  • the target startup animation is played back to play the exit animation.
  • exit animation and the target startup animation are different types of animation.
  • the playback module 1003 is specifically used to execute:
  • the exit instruction includes an exit animation.
  • the playback module 1003 is specifically used to execute:
  • the exit animation corresponding to the exit action is played.
  • each of the above modules can be implemented as an independent entity, or can be combined in any way to be implemented as the same or several entities.
  • the specific implementation methods and corresponding beneficial effects of each of the above modules can be found in the previous method embodiments. I won’t go into details here.
  • An embodiment of the present application also provides an electronic device.
  • the electronic device may be a server or a terminal. As shown in Figure 11, it shows a schematic structural diagram of the electronic device involved in the embodiment of the present application. Specifically:
  • the electronic device may include components such as a processor 1101 of one or more processing cores, a memory 1102 of one or more computer-readable storage media, a power supply 1103, and an input unit 1104.
  • a processor 1101 of one or more processing cores a memory 1102 of one or more computer-readable storage media
  • a power supply 1103 a power supply 1103
  • FIG. 11 does not constitute a limitation of the electronic device, and may include more or fewer components than shown in the figure, or combine certain components, or arrange different components. in:
  • the processor 1101 is the control center of the electronic device, using various interfaces and lines to connect various parts of the entire electronic device, by running or executing computer programs and/or modules stored in the memory 1102, and calling programs stored in the memory 1102. Data, perform various functions of electronic devices and process data.
  • the processor 1101 may include one or more processing cores; preferably, the processor 1101 may integrate an application processor and a modem processor, where the application processor mainly processes operating systems, user interfaces, application programs, etc. , the modem processor mainly handles wireless communications. It can be understood that the above modem processor may not be integrated into the processor 1101.
  • the memory 1102 can be used to store computer programs and modules.
  • the processor 1101 executes the computer programs and modules stored in the memory 1102 to perform various functional applications and data processing.
  • the memory 1102 may mainly include a program storage area and a data storage area, where the program storage area may store an operating system, a computer program required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the storage data area may store data according to Created by the use of electronic devices Created data, etc.
  • memory 1102 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory 1102 may also include a memory controller to provide the processor 1101 with access to the memory 1102 .
  • the electronic device also includes a power supply 1103 that supplies power to various components.
  • the power supply 1103 can be logically connected to the processor 1101 through a power management system, so that functions such as charging, discharging, and power consumption management can be implemented through the power management system.
  • the power supply 1103 may also include one or more DC or AC power supplies, recharging systems, power failure detection circuits, power converters or inverters, power status indicators, and other arbitrary components.
  • the electronic device may also include an input unit 1104 that may be used to receive input numeric or character information and generate keyboard, mouse, joystick, optical, or trackball signal input related to user settings and function control.
  • an input unit 1104 may be used to receive input numeric or character information and generate keyboard, mouse, joystick, optical, or trackball signal input related to user settings and function control.
  • the electronic device may also include a display unit and the like, which will not be described again here.
  • the processor 1101 in the electronic device will load the executable files corresponding to the processes of one or more computer programs into the memory 1102 according to the following instructions, and the processor 1101 will run the executable files stored in the computer program.
  • an interrupt transaction is executed to display the interface before the playback target starts the animation.
  • embodiments of the present application provide a computer-readable storage medium in which a computer program is stored.
  • the computer program can be loaded by a processor to execute the steps in any animation playback method provided by the embodiments of the present application.
  • the computer program can perform the following steps:
  • an interrupt transaction is executed to display the interface before the playback target starts the animation.
  • the computer-readable storage medium may include: read-only memory (ROM, Read Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk, etc.
  • any animation playback method provided by the embodiments of the present application can be implemented.
  • the beneficial effects that can be achieved are detailed in the previous embodiments and will not be described again here.
  • a computer program product or computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the above animation playback method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请公开了一种动画播放方法、装置、电子设备和计算机可读存储介质;在本申请中,若监听到针对目标启动动画的退出指令,则获取目标启动动画的播放进度;根据目标启动动画的播放进度,播放退出动画;当退出动画播放完成时,执行打断事务,以显示在播放目标启动动画之前的界面。本申请可以提高启动动画的播放和退出动画的播放之间的衔接度。

Description

动画播放方法、装置、电子设备和计算机可读存储介质
本申请要求申请日为2022年07月06日、申请号为2022107974837、发明名称为“动画播放方法、装置、电子设备和计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及动画技术领域,具体涉及一种动画播放方法、装置、电子设备和计算机可读存储介质。
背景技术
随着科学技术的发展,电子设备上运行的应用程序越来越多,也越来越受用户的喜爱。当用户点击应用程序的图标之后,应用程序的图标会进行放大并显示应用程序的界面,这个过程称为启动动画的播放,根据退出指令从应用程序的界面回到桌面的过程,称为退出动画的播放。
然而,如果在启动动画的播放未完成时接收到退出指令,会导致启动动画和退出动画之间的衔接不顺畅,出现卡顿的现象。
技术问题
启动动画的播放和退出动画的播放衔接不顺畅的技术问题。
技术解决方案
本申请实施例提供一种动画播放方法、装置、电子设备和计算机可读存储介质,可以解决启动动画的播放和退出动画的播放衔接不顺畅的技术问题。
本申请实施例提供一种动画播放方法,包括:
对正在播放的目标启动动画进行监听;
若监听到针对上述目标启动动画的退出指令,则获取上述目标启动动画的播放进度;
根据上述目标启动动画的播放进度,播放退出动画;
当上述退出动画播放完成时,执行打断事务,以显示在播放上述目标启动动画之前的界面。
相应地,本申请实施例提供一种动画播放装置,包括:
监听模块,用于对正在播放的目标启动动画进行监听;
获取模块,用于若监听到针对上述目标启动动画的退出指令,则获取上述目标启动动画的播放进度;
播放模块,用于根据上述目标启动动画的播放进度,播放退出动画;
执行模块,用于当上述退出动画播放完成时,执行打断事务,以显示在播放上述目标启动动画之前的界面。
此外,本申请实施例还提供一种电子设备,包括处理器和存储器,上述存储器存储有计算机程序,上述处理器用于运行上述存储器内的计算机程序实现本申请实施例提供的动画播放方法。
此外,本申请实施例还提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序适于处理器进行加载,以执行本申请实施例所提供的任一种动画播放方法。
此外,本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本申请实施例所提供的任一种动画播放方法。
有益效果
在本申请实施例中,对正在播放的目标启动动画进行监听。若监听到针对目标启动动画的退出指令,则获取目标启动动画的播放进度。然后根据目标启动动画的播放进度,播放退出动画。当退出动画播放完成时,执行打断事务,以显示在播放目标启动动画之前的界面。
即在本申请实施例中,当监听到目标启动动画的退出指令时,先根据目标启动动画的播放进度播放退出动画,使得目标启动动画的播放和退出动画的播放无缝衔接,然后在退出动画播放完成时,再执行打断事务,避免出现在获取到退出指令时,先执行打断事务,再播放退出动画导致的启动动画的播放和退出动画的播放衔接不顺畅的现象。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的动画播放方法的示意图;
图2是本申请实施例提供的目标启动动画的注册过程的示意图;
图3是本申请实施例提供的打断动画管理类和中间服务的示意图;
图4是本申请实施例提供的目标启动动画的示意图;
图5是本申请实施例提供的另一种动画播放方法的示意图;
图6是本申请实施例提供的另一种动画播放方法的示意图;
图7是本申请实施例提供的打断动画管理类、中间服务、动画播放进程以及打断事务的交互示意图;
图8是本申请实施例提供的目标启动动画的注销过程的示意图;
图9是本申请实施例提供的目标启动动画的注销过程和注册过程的示意图;
图10是本申请实施例提供的动画播放装置的结构示意图;
图11是本申请实施例提供的电子设备的结构示意图。
本发明的实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种动画播放方法、装置、电子设备和计算机可读存储介质。其中,该动画播放装置可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
另外,本申请实施例中的“多个”指两个或两个以上。本申请实施例中的“第一”和“第二”等用于区分描述,而不能理解为暗示相对重要性。
以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺 序的限定。
在本实施例中,将从动画播放装置的角度进行描述,为了方便对本申请的动画播放方法进行说明,以下将以动画播放装置集成在终端中进行详细说明,即以终端作为执行主体进行详细说明。
请参阅图1,图1是本申请一实施例提供的动画播放方法的流程示意图。该动画播放方法可以包括:
S101、对正在播放的目标启动动画进行监听。
启动动画可以为在客户端启动的过程中,客户端所在的终端的屏幕所动态显示的画面。比如,当客户端为应用程序时,终端响应于对应用程序的图标的触发操作,先动态显示应用程序的图标,然后动态显示应用程序的界面,直至应用程序的界面铺满终端的屏幕,则动态显示应用程序的图标和界面的画面组成启动动画。
客户端可以为小程序、网页、应用程序以及终端开机程序等。对于客户端的类型,用户可以根据实际情况进行选择,本实施例在此不做限定。
当终端获取到客户端之后,终端可以先将客户端的目标启动动画进行注册,以在检测到目标启动动画正进行播放时,对目标启动动画进行监听。或者,终端也可以在目标启动动画进行播放时再对目标启动画进行注册,此时对正在播放的目标启动动画进行监听,包括:
对目标启动动画进行检测;
当检测到目标启动动画正在播放时,对目标启动动画进行注册,以对目标启动动画进行监听。
在一些实施例中,当检测到目标启动动画正在播放时,对目标启动动画进行注册,以对目标启动动画进行监听,包括:
当检测到目标启动动画正在播放时,通过打断动画管理类,获取目标启动动画,打断动画管理类中包括中间服务的调用接口;
通过调用接口,调用中间服务中的注册函数,以对目标启动动画进行注册;
当注册成功时,通过调用接口,调用中间服务中的触发函数,以对目标启动动画进行监听。
在本实施例中,中间服务可以为一个bind服务,注册函数和触发函数位于中间服务中,但终端没有直接调用中间服务的功能,因此,设置打断动画管理类,打断动画管理类中包括了中间服务的调用接口,然后通过打断动画管理类中的调用接口,调用中间服务的注册函数和触发函数,以实现对目标启动动画的监听。
其中,通过打断动画管理类,获取目标启动动画,可以指通过打断动画管理类,获取目标启动动画的标识和目标启动动画的退出动作等。
比如,如图2所示,当检测目标启动动画开始播放时,终端通过打断动画管理类(BreakAnimManager)中的调用接口(getService),调用中间服务(BreakAnimManagerService)的注册函数(addBreakTarget),根据目标启动动画的退出动作(int event)和目标启动动画的标识(IBreakableTarget)对目标启动动画进行注册。比如,利用中间服务中的注册函数对目标启动动画进行注册的形式可以为:void addBreakTarget(int event,IBreakableTarget target)。
也即是,将目标启动动画的退出动作和目标启动动画的标识发送至打断动画管理类,终端再通过打断动画管理类中的调用接口将目标启动动画的退出动画和目标启动动画的标识发送至中间服务,最后终端再利用中间服务中的注册函数对目标启动动画进行注册。
对目标启动动画注册成功之后,终端再利用中间服务中的触发函数(breakAnim)对目标启动动画进行监听。
由于通过打断动画管理类和中间服务实现对目标启动动画的注册和监听,因此,在当检测到所述目标启动动画正在播放时,通过打断动画管理类,获取目标启动动画之前,还包括:
获取注册函数和触发函数,并根据注册函数和触发函数创建中间服务;
根据中间服务的调用接口,创建打断动画管理类。
比如,打断动画管理类和中间服务可以如图3所示,Animation表示目标启动动画对应的动画播放进程。
应理解,当客户端为应用程序时,打断动画管理类可以以软件开发工具包(Software Development Kit,SDK)的形式存在,以便将打断动画管理类插入至应用程序中。
S102、若监听到针对目标启动动画的退出指令,则获取目标启动动画的播放进度。
终端如果监听到针对目标启动动画的退出指令,则获取目标启动动画的播放进度。目标启动动画的播放进度,可以动态指终端的屏幕动态显示到第几帧画面,或者,目标启动动画的播放进度也可以指目标启动动画对应的窗口的大小,比如,当目标启动动画对应的窗口的大小为70%(即目标启动动画对应的窗口占屏幕的70%)时,监听到目标启动动画的退出指令,则目标启动动画的播放进度为70%。
S103、根据目标启动动画的播放进度,播放退出动画。
为了避免出现抖动的现象,终端可以根据目标启动动画的播放进度,播放退出动画,使得退出动画的播放和目标启动动画的播放的衔接更加顺畅。
比如,当目标启动动画的播放进度为70%时,退出动画也从70%开始播放。
可选地,退出动画和目标启动动画可以为同种类型的动画,也可以为不同种类型的动画。退出动画和目标启动动画可以为同种类型的动画可以指退出动画的内容和目标启动动画的内容相同,退出动画和目标启动动画可以为不同种类型的动画,可以指退出动画的内容和目标启动动画的内容不相同。
需要说明的是,当客户端为小程序或应用程序时,退出动画的内容和目标启动动画的内容相同,可以指目标启动动画对应的窗口的大小对应的内容和退出动画对应的窗口的大小对应的内容相同。退出动画的内容和目标启动动画的内容不相同,目标启动动画对应的窗口的大小对应的内容和退出动画对应的窗口的大小对应的内容不相同。
比如,如图4所示,在目标启动动画对应的窗口的大小为0-30%的过程中,在目标启动动画对应的窗口中动态显示应用程序的图标,此时,目标启动动画为动态显示应用程序的图标的画面,图4中的401为目标启动动画对应的窗口的大小为15%时,终端显示的画面,图4中的402为目标启动动画对应的窗口的大小为30%时,终端显示的画面。
在目标启动动画对应的窗口的大小为31%-100%的过程中,在目标启动动画对应的窗口中动态显示应用程序的界面。图4中的403为目标启动动画对应的窗口的大小为70%时,终端显示的画面,图4中的404为目标启动动画对应的窗口的大小为100%时,终端显示的画面,此时,目标启动动画对应的窗口铺满整个屏幕,也即,应用程序的界面铺满整个屏幕。
如果在退出动画的窗口的大小为100%-31%的过程中,也在退出动画的窗口中动态显示应用程序的界面,在退出动画的窗口的大小为30%-0的过程中,也在退出动画的窗口中动态显示应用程序的图标,则退出动画的内容和目标启动动画的内容相同。
如果在退出动画的窗口的大小为100%-61%的过程中,在退出动画的窗口中动态显示应用程序的界面,在退出动画的窗口的大小为60%-0的过程中,在退出动画的窗口中动态显示应用程序的图标,则退出动画的内容和目标启动动画的内容不相同。
当退出动画和目标启动动画为同种类型的动画时,根据目标启动动画的播放进度,播放退出动画,包括:
根据目标启动动画的播放进度,回放目标启动动画,以播放退出动画。
由于退出动画和目标启动动画为同种类型的动画,因此,可以根据目标启动动画的播放进度,直接回放目标启动动画,从而播放退出动画。
比如,目标启动动画为应用程序的启动动画。目标启动动画从0%开始播放,当目标启 动动画的播放进度为70%时,接收到退出指令,则从70%开始回放启动动画。
当退出动画和目标启动动画为不同种类型的动画时,根据目标启动动画的播放进度,播放退出动画,包括:
获取退出动画;
根据目标启动动画的播放进度,确定退出动画的起始播放位置;
从起始播放位置,播放退出动画。
比如,目标启动动画为应用程序的启动动画。目标启动动画从0%开始播放,当目标启动动画的播放进度为70%时,接收到退出指令,则退出动画的起始播放位置为70%,也即是,退出动画对应的窗口的大小为屏幕的70%。
在本实施例中,退出动画和目标启动动画为不同种类型的动画,从而使得在客户端启动和退出的过程中,播放不同的动画,给用户带来更好的体验。
其中,退出动画可以为目标启动动画的对应的退出动画,退出动画和目标启动动画可以先建立关联关系,然后终端再从关联关系中查找目标启动动画对应的退出动画,可以将目标启动动画和退出动画分别与客户端关联,终端先确定目标启动动画对应的客户端,然后再查找目标启动动画对应的客户端对应的退出动画。
在一些实施例中,退出指令包括退出动作,根据目标启动动画的播放进度,播放退出动画,包括:
确定退出动作对应的退出动画;
根据目标启动动画的播放进度,播放退出动作对应的退出动画。
在本实施例中,存在不同的退出动作,一种退出动作可以对应一种退出动画,从而丰富退出动画的多样性,提高用户的体验。
退出动作可以包括触发Home键,上滑动作、上滑动作、左滑动作以及右滑动作等。
在另一些实施例中,在获取目标启动动画之前,还包括:
获取动画播放指令;
根据动画播放指令启动动画播放进程,以播放目标启动动画,动画播放进程包括目标启动动画的播放代码以及退出动画的播放代码;
根据目标启动动画的播放进度,播放退出动画,包括:
通过动画播放进程,根据目标启动动画的播放进度,播放退出动画。
动画进行播放时,需要先初始化,以加载动画资源,比如,目标启动动画为应用程序的启动动画时,需要先进行初始化,以加载应用程序的图标、应用程序的界面以及应用程序的窗口等。如果目标启动动画的播放代码和退出动画的播放代码属于不同的进程,则在播放退出动画时,需再次进行初始化,从而加载动画资源,减慢了退出动画的播放速度。
在本实施例中,目标启动动画的播放代码和退出动画的播放代码位于同一个进程中,则在播放退出动画时可以直接利用目标启动动画的动画播放进程的上下文信息(动画播放进程的上下文信息指动画播放进程运行时的变量和数据),从而使得在播放退出动画时,无需再初始化动画资源,从而进一步提高目标启动动画的播放和退出动画的播放之间的衔接度。
S104、当退出动画播放完成时,执行打断事务,以显示在播放目标启动动画之前的界面。
打断事务包括返回在播放目标启动动画之前的界面的操作,比如,目标启动动画为应用程序的启动动画,则当退出动画播放完成时,执行返回桌面的操作,以回到桌面。
由于打断事务的执行时间较长,因此,如果先执行打断事务,再播放退出动画,导致目标启动动画的播放和退出动画的播放之间的时间较长,使得目标启动动画的播放和退出动画的播放衔接不顺畅,当终端的性能较差时,目标启动动画的播放和退出动画的播放衔接不顺畅的程度较为严重。
比如,如图5中的501所示,在播放目标启动动画时,获取到退出指令,则保存目标启 动动画的播放进度,执行打断事务,然后获取目标启动动画的播放进度,最后,根据目标启动动画的播放进度,播放退出动画。
而在本实施例中,先播放退出动画,当退出动画播放完成时,再执行打断事务,从而使得目标启动动画的播放和退出动画的播放无缝衔接,提高目标启动动画的播放和退出动画的播放之间的衔接度,使得即使在性能较差的终端中,也不会出现目标启动动画的播放和退出动画的播放衔接不顺畅的现象,提高用户体验。
比如,如图5中的502所示,在播放目标启动动画时,获取到退出指令,则根据目标启动动画的播放进度播放退出动画,然后再执行打断事务。
在一些实施例中,根据目标启动动画的播放进度,播放退出动画,当退出动画播放完成时,执行打断事务,包括:
获取退出动画对应的退出进程的第一启动顺序和打断事务对应的打断进程的第二启动顺序,第一启动顺序先于第二启动顺序;
根据目标启动动画的播放进度、第一启动顺序和第二启动顺序,启动退出进程和打断进程,以实现当退出动画播放完成时,执行打断事务。
在本实施例中,通过预先设置退出进程的第一启动顺序和打断进程的第二启动顺序,第一启动顺序先于第二启动顺序,然后根据第一启动顺序和第二启动顺序启动退出进程和打断进程,从而实现当退出动画播放完成时,执行打断事务。
需要说明的是,如果退出动画的播放代码位于动画播放进程中,则退出进程即为动画播放进程,由于当获取到针对目标启动动画的退出指令时,动画播放进程会暂停执行,因此,此时,第一启动顺序可以为继续启动动画播放进程的顺序。
退出动画对应的退出进程指退出动画的播放进程,打断事务的打断进程指打断事务的执行进程。
当终端通过中间服务中的触发函数对目标启动动画进行监听时,若监听到针对目标启动动画的退出指令,则获取目标启动动画的播放进度,根据目标启动动画的播放进度,播放退出动画,包括:
若通过触发函数监听到针对目标启动动画的退出指令,则通过触发函数将退出指令发送至目标启动动画对应的动画播放进程中监听函数;
当通过监听函数获取到退出指令时,利用目标启动动画对应的动画播放进程,获取目标启动动画的播放进度,并根据目标启动动画的播放进度,播放退出动画。
比如,如图6所示,通过触发函数监听到退出指令之后,通过触发函数将退出指令发送至监听函数,当通过监听函数获取到退出指令之后,利用动画播放进程,回放目标启动动画,从而实现退出动画的播放。
可选地,若通过触发函数监听到针对目标启动动画的退出指令,则通过触发函数将退出指令发送至目标启动动画对应的动画播放进程中监听函数,包括:
若通过触发函数监听到针对目标启动动画的退出指令,则获取目标启动动画对应的打断事务标识;
通过触发函数将退出指令和打断事务标识发送至目标启动动画对应的动画播放进程中监听函数;
当退出动画播放完成时,执行打断事务,包括:
当退出动画播放完成时,从监听函数中获取打断事务标识;
调用打断事务标识对应的接口,以执行打断事务。
在本实施例中,当通过触发函数获取到退出指令(退出动作)时,通过触发函数将退出指令和打断事务标识(IBreakAnimFinishedCallback callback)一起发送至监听函数中,此时,触发函数的形式可以为int breakAnim(int event,IBreakAnimFinishedCallback callback),监听函 数(onBreak)获取到退出指令(退出动作)和打断事务标识的形式可以为onBreak(int event,IBreakAnimFinishedCallback callback)。
终端从而通过监听函数获取到打断事务标识。然后当利用动画播放进程,在播放退出动画完成时,通过动画播放进程将退出指令发送至打断事务标识对应的接口(onBreakAnimFinished),最后通过打断事务标识对应的接口,根据退出指令,执行打断事务。
退出检测进程(退出检测进程比如可以为Home进程)与动画播放进程之间并不能直接通信,因此,在本实施例中,建立打断动画管理类和中间服务,当通过退出检测进程获取到退出指令时,将退出指令和打断事务标识发送至打断动画管理类,然后通过打断动画管理类和中间服务将退出动作和打断事务标识发送至动画播放进程,从而实现退出检测进程和动画播放进程的跨进程通信。
比如,如图7所示,通过退出检测进程检测客户端的退出动作和获取打断事务标识,通过打断动画管理类,调用中间服务中的触发函数,从退出检测进程中获取退出动作和打断事务标识,也即是,通过打断动画管理类,将退出动作和打断事务接口标识发送至中间服务中的触发函数。
接着再通过中间服务中的触发函数,将退出动作和打断事务标识发送至目标启动动画的动画播放进程中的监听函数。当通过监听函数获取到退出动作和打断事务标识时,根据目标启动动画的播放进度,播放退出动画,并在退出动画播放完成时,从监听函数中获取打断事务标识,并调用打断事务标识对应的接口,执行打断事务,从而回到在播放目标启动动画之前的界面,也即是,在退出动画播放完成时,将退出动作发送至打断事务标识对应的接口,以执行打断事务。
如果在播放目标启动动画的过程中,没有获取到针对目标启动动画的退出指令,则可以对目标启动动画进行注销,使得无需一直对目标启动动画进行监听,则在另一些实施例中,在当注册成功时,通过调用接口,调用中间服务中的触发函数,以对目标启动动画进行监听之后,还包括:
通过打断动画管理类,获取目标启动动画的播放完成指令;
通过调用接口,根据播放完成指令,调用中间服务中的注销函数,以对目标启动动画进行注销。
比如,如图8所示,当目标启动动画的播放完成时,通过打断动画管理类的调用接口,调用中间服务中的注销函数(removeBreakTarget)对目标启动动画进行注销,注销的形式可以为void removeBreakTarget(IBreakableTarget target)。
也即是,当通过打断动画管理类获取到播放完成指令时,通过打断动画管理类的调用接口将播放完成指令发送至中间服务中,再通过中间服务中的注销函数对目标启动动画进行注销。
在本实施例中,在目标启动动画开始播放时,通过中间服务中的注册函数对目标启动动画进行注册,在目标启动动画播放完成时,通过中间服务中的注销函数对目标启动动画进行注销(如图9所示),从而使得可以实现在目标启动动画播放时对目标启动动画进行监听,在目标启动动画播放完成时,结束对目标启动动画的监听。
由以上可知,在本申请实施例中,对正在播放的目标启动动画进行监听。若监听到针对目标启动动画的退出指令,则获取目标启动动画的播放进度。然后根据目标启动动画的播放进度,播放退出动画。当退出动画播放完成时,执行打断事务,以显示在播放目标启动动画之前的界面。
即在本申请实施例中,当监听到目标启动动画的退出指令时,先根据目标启动动画的播放进度播放退出动画,使得目标启动动画的播放和退出动画的播放无缝衔接,然后在退出动 画播放完成时,再执行打断事务,避免出现在获取到退出指令时,先执行打断事务,再播放退出动画导致的启动动画的播放和退出动画的播放衔接不顺畅的现象。
为便于更好的实施本申请实施例提供的动画播放方法,本申请实施例还提供一种基于上述动画播放方法的装置。其中名词的含义与上述动画播放方法中相同,具体实现细节可以参考方法实施例中的说明。
例如,如图10所示,该动画播放装置可以包括:
监听模块1001,用于对正在播放的目标启动动画进行监听。
获取模块1002,用于若监听到针对目标启动动画的退出指令,则获取目标启动动画的播放进度。
播放模块1003,用于根据目标启动动画的播放进度,播放退出动画。
执行模块1004,用于当退出动画播放完成时,执行打断事务,以显示在播放目标启动动画之前的界面。
可选地,该动画播放装置还包括:
指令获取模块,用于执行:
获取动画播放指令;
根据动画播放指令启动动画播放进程,以播放目标启动动画,动画播放进程包括目标启动动画的播放代码以及退出动画的播放代码。
相应地,播放模块1003具体用于执行:
通过动画播放进程,根据目标启动动画的播放进度,播放退出动画。
可选地,播放模块1003具体用于执行:
获取退出动画对应的退出进程的第一启动顺序和打断事务对应的打断进程的第二启动顺序,第一启动顺序先于第二启动顺序;
根据目标启动动画的播放进度、第一启动顺序和第二启动顺序,启动退出进程和打断进程,以实现当退出动画播放完成时,执行打断事务。
可选地,监听模块1001具体用于执行:
对目标启动动画进行检测;
当检测到目标启动动画正在播放时,对目标启动动画进行注册,以对目标启动动画进行监听。
可选地,监听模块1001具体用于执行:
当检测到目标启动动画正在播放时,通过打断动画管理类,获取目标启动动画,打断动画管理类中包括中间服务的调用接口;
通过调用接口,调用中间服务中的注册函数,以对目标启动动画进行注册;
当注册成功时,通过调用接口,调用中间服务中的触发函数,以对目标启动动画进行监听。
可选地,获取模块1002具体用于执行:
若通过触发函数监听到针对目标启动动画的退出指令,则通过触发函数将退出指令发送至目标启动动画对应的动画播放进程中监听函数。
播放模块1003具体用于执行:
当通过监听函数获取到退出指令时,利用目标启动动画对应的动画播放进程,获取目标启动动画的播放进度,并根据目标启动动画的播放进度,播放退出动画。
可选地,获取模块1002具体用于执行:
若通过触发函数监听到针对目标启动动画的退出指令,则获取目标启动动画对应的打断事务标识;
通过触发函数将退出指令和打断事务标识发送至目标启动动画对应的动画播放进程中 监听函数;
相应地,执行模块1004具体用于执行:
当退出动画播放完成时,从监听函数中获取打断事务标识;
调用打断事务标识对应的接口,以执行打断事务。
可选地,该动画播放装置还包括:
创建模块,用于执行:
获取注册函数和触发函数,并根据注册函数和触发函数创建中间服务;
根据中间服务的调用接口,创建打断动画管理类。
可选地,该动画播放装置还包括:
注销模块,用于执行:
通过打断动画管理类,获取目标启动动画的播放完成指令;
通过调用接口,根据播放完成指令,调用中间服务中的注销函数,以对目标启动动画进行注销。
可选地,退出动画与目标启动动画为同种类型的动画。
相应地,播放模块1003具体用于执行:
根据目标启动动画的播放进度,回放目标启动动画,以播放退出动画。
可选地,退出动画与目标启动动画为不同种类型的动画。
相应地,播放模块1003具体用于执行:
获取退出动画;
根据目标启动动画的播放进度,确定退出动画的起始播放位置;
从起始播放位置,播放退出动画。
可选地,退出指令包括退出动画。
相应地,播放模块1003具体用于执行:
确定退出动作对应的退出动画;
根据目标启动动画的播放进度,播放退出动作对应的退出动画。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施方式以及对应的有益效果可参见前面的方法实施例,在此不再赘述。
本申请实施例还提供一种电子设备,该电子设备可以是服务器或终端等,如图11所示,其示出了本申请实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器1101、一个或一个以上计算机可读存储介质的存储器1102、电源1103和输入单元1104等部件。本领域技术人员可以理解,图11中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器1101是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器1102内的计算机程序和/或模块,以及调用存储在存储器1102内的数据,执行电子设备的各种功能和处理数据。可选的,处理器1101可包括一个或多个处理核心;优选的,处理器1101可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1101中。
存储器1102可用于存储计算机程序以及模块,处理器1101通过运行存储在存储器1102的计算机程序以及模块,从而执行各种功能应用以及数据处理。存储器1102可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创 建的数据等。此外,存储器1102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1102还可以包括存储器控制器,以提供处理器1101对存储器1102的访问。
电子设备还包括给各个部件供电的电源1103,优选的,电源1103可以通过电源管理系统与处理器1101逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1103还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元1104,该输入单元1104可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器1101会按照如下的指令,将一个或一个以上的计算机程序的进程对应的可执行文件加载到存储器1102中,并由处理器1101来运行存储在存储器1102中的计算机程序,从而实现各种功能,比如:
对正在播放的目标启动动画进行监听;
若监听到针对目标启动动画的退出指令,则获取目标启动动画的播放进度;
根据目标启动动画的播放进度,播放退出动画;
当退出动画播放完成时,执行打断事务,以显示在播放目标启动动画之前的界面。
以上各个操作的具体实施方式以及对应的有益效果可参见上文对动画播放方法的详细描述,在此不作赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过计算机程序来完成,或通过计算机程序控制相关的硬件来完成,该计算机程序可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种动画播放方法中的步骤。例如,该计算机程序可以执行如下步骤:
对正在播放的目标启动动画进行监听;
若监听到针对目标启动动画的退出指令,则获取目标启动动画的播放进度;
根据目标启动动画的播放进度,播放退出动画;
当退出动画播放完成时,执行打断事务,以显示在播放目标启动动画之前的界面。
以上各个操作的具体实施方式以及对应的有益效果可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种动画播放方法中的步骤,因此,可以实现本申请实施例所提供的任一种动画播放方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
其中,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述动画播放方法。
以上对本申请实施例所提供的一种动画播放方法、装置、电子设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内 容不应理解为对本申请的限制。

Claims (20)

  1. 一种动画播放方法,其中,包括:
    对正在播放的目标启动动画进行监听;
    若监听到针对所述目标启动动画的退出指令,则获取所述目标启动动画的播放进度;
    根据所述目标启动动画的播放进度,播放退出动画;
    当所述退出动画播放完成时,执行打断事务,以显示在播放所述目标启动动画之前的界面。
  2. 根据权利要求1所述的动画播放方法,其中,在所述获取目标启动动画之前,还包括:
    获取动画播放指令;
    根据所述动画播放指令启动动画播放进程,以播放所述目标启动动画,所述动画播放进程包括所述目标启动动画的播放代码以及所述退出动画的播放代码;
    所述根据所述目标启动动画的播放进度,播放退出动画,包括:
    通过所述动画播放进程,根据所述目标启动动画的播放进度,播放退出动画。
  3. 根据权利要求1所述的动画播放方法,其中,所述根据所述目标启动动画的播放进度,播放退出动画,当所述退出动画播放完成时,执行打断事务,包括:
    获取所述退出动画对应的退出进程的第一启动顺序和所述打断事务对应的打断进程的第二启动顺序,所述第一启动顺序先于所述第 二启动顺序;
    根据所述目标启动动画的播放进度、所述第一启动顺序和所述第二启动顺序,启动所述退出进程和所述打断进程,以实现当退出动画播放完成时,执行打断事务。
  4. 根据权利要求1所述的动画播放方法,其中,所述对正在播放的目标启动动画进行监听,包括:
    对所述目标启动动画进行检测;
    当检测到所述目标启动动画正在播放时,对所述目标启动动画进行注册,以对所述目标启动动画进行监听。
  5. 根据权利要求4所述的动画播放方法,其中,所述当检测到所述目标启动动画正在播放时,对所述目标启动动画进行注册,以对所述目标启动动画进行监听,包括:
    当检测到所述目标启动动画正在播放时,通过打断动画管理类,获取所述目标启动动画,所述打断动画管理类中包括中间服务的调用接口;
    通过所述调用接口,调用所述中间服务中的注册函数,以对所述目标启动动画进行注册;
    当注册成功时,通过所述调用接口,调用所述中间服务中的触发函数,以对所述目标启动动画进行监听。
  6. 根据权利要求5所述的动画播放方法,其中,所述若监听到针对所述目标启动动画的退出指令,则获取所述目标启动动画的播放进度,根据所述目标启动动画的播放进度,播放退出动画,包括:
    若通过所述触发函数监听到针对所述目标启动动画的退出指令,则通过所述触发函数将所述退出指令发送至所述目标启动动画对应的动画播放进程中监听函数;
    当通过所述监听函数获取到所述退出指令时,利用所述目标启动动画对应的动画播放进程,获取所述目标启动动画的播放进度,并根据所述目标启动动画的播放进度,播放退出动画。
  7. 根据权利要求6所述的动画播放方法,其中,若通过所述触发函数监听到针对所述目标启动动画的退出指令,则通过所述触发函数将所述退出指令发送至所述目标启动动画对应的动画播放进程中监听函数,包括:
    若通过所述触发函数监听到针对所述目标启动动画的退出指令,则获取所述目标启动动画对应的打断事务标识;
    通过所述触发函数将所述退出指令和所述打断事务标识发送至所述目标启动动画对应的动画播放进程中监听函数;
    当所述退出动画播放完成时,执行打断事务,包括:
    当所述退出动画播放完成时,从所述监听函数中获取所述打断事务标识;
    调用所述打断事务标识对应的接口,以执行所述打断事务。
  8. 根据权利要求5所述的动画播放方法,其中,在所述当检测到所述目标启动动画正在播放时,通过打断动画管理类,获取所述目标启动动画之前,还包括:
    获取所述注册函数和所述触发函数,并根据所述注册函数和所述 触发函数创建所述中间服务;
    根据所述中间服务的调用接口,创建所述打断动画管理类。
  9. 根据权利要求5所述的动画播放方法,其中,在所述当注册成功时,通过所述调用接口,调用所述中间服务中的触发函数,以对所述目标启动动画进行监听之后,还包括:
    通过所述打断动画管理类,获取所述目标启动动画的播放完成指令;
    通过所述调用接口,根据所述播放完成指令,调用所述中间服务中的注销函数,以对所述目标启动动画进行注销。
  10. 根据权利要求1所述的动画播放方法,其中,所述退出动画与所述目标启动动画为同种类型的动画;
    所述根据所述目标启动动画的播放进度,播放退出动画,包括:
    根据所述目标启动动画的播放进度,回放所述目标启动动画,以播放退出动画。
  11. 根据权利要求1所述的动画播放方法,其中,所述退出动画与所述目标启动动画为不同种类型的动画;
    根据所述目标启动动画的播放进度,播放退出动画,包括:
    获取退出动画;
    根据所述目标启动动画的播放进度,确定所述退出动画的起始播放位置;
    从所述起始播放位置,播放所述退出动画。
  12. 根据权利要求1所述的动画播放方法,其中,所述退出指令 包括退出动作;
    根据所述目标启动动画的播放进度,播放退出动画,包括:
    确定所述退出动作对应的退出动画;
    根据所述目标启动动画的播放进度,播放所述退出动作对应的退出动画。
  13. 一种动画播放装置,其中,包括:
    监听模块,用于对正在播放的目标启动动画进行监听;
    获取模块,用于若监听到针对所述目标启动动画的退出指令,则获取所述目标启动动画的播放进度;
    播放模块,用于根据所述目标启动动画的播放进度,播放退出动画;
    执行模块,用于当所述退出动画播放完成时,执行打断事务,以显示在播放所述目标启动动画之前的界面。
  14. 根据权利要求13所述的动画播放装置,其中,所述动画播放装置还包括:
    指令获取模块,用于执行:
    获取动画播放指令;
    根据所述动画播放指令启动动画播放进程,以播放所述目标启动动画,所述动画播放进程包括所述目标启动动画的播放代码以及所述退出动画的播放代码;
    所述播放模块用于执行:
    通过所述动画播放进程,根据所述目标启动动画的播放进度,播 放退出动画。
  15. 根据权利要求13所述的动画播放装置,其中,所述播放模块用于执行:
    获取所述退出动画对应的退出进程的第一启动顺序和所述打断事务对应的打断进程的第二启动顺序,所述第一启动顺序先于所述第二启动顺序;
    根据所述目标启动动画的播放进度、所述第一启动顺序和所述第二启动顺序,启动所述退出进程和所述打断进程,以实现当退出动画播放完成时,执行打断事务。
  16. 根据权利要求13所述的动画播放装置,其中,所述监听模块用于执行:
    对所述目标启动动画进行检测;
    当检测到所述目标启动动画正在播放时,对所述目标启动动画进行注册,以对所述目标启动动画进行监听。
  17. 根据权利要求16所述的动画播放装置,其中,所述监听模块用于执行:
    当检测到所述目标启动动画正在播放时,通过打断动画管理类,获取所述目标启动动画,所述打断动画管理类中包括中间服务的调用接口;
    通过所述调用接口,调用所述中间服务中的注册函数,以对所述目标启动动画进行注册;
    当注册成功时,通过所述调用接口,调用所述中间服务中的触发 函数,以对所述目标启动动画进行监听。
  18. 根据权利要求17所述的动画播放装置,其中,所述获取模块用于执行:
    若通过所述触发函数监听到针对所述目标启动动画的退出指令,则通过所述触发函数将所述退出指令发送至所述目标启动动画对应的动画播放进程中监听函数;
    所述播放模块,用于执行:
    当通过所述监听函数获取到所述退出指令时,利用所述目标启动动画对应的动画播放进程,获取所述目标启动动画的播放进度,并根据所述目标启动动画的播放进度,播放退出动画。
  19. 一种电子设备,其中,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行权利要求1至12任一项所述的动画播放方法。
  20. 一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行权利要求1至12任一项所述的动画播放方法。
PCT/CN2023/091844 2022-07-06 2023-04-28 动画播放方法、装置、电子设备和计算机可读存储介质 WO2024007710A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210797483.7A CN117130678A (zh) 2022-07-06 2022-07-06 动画播放方法、装置、电子设备和计算机可读存储介质
CN202210797483.7 2022-07-06

Publications (1)

Publication Number Publication Date
WO2024007710A1 true WO2024007710A1 (zh) 2024-01-11

Family

ID=88851432

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/091844 WO2024007710A1 (zh) 2022-07-06 2023-04-28 动画播放方法、装置、电子设备和计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN117130678A (zh)
WO (1) WO2024007710A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103325398A (zh) * 2012-03-23 2013-09-25 腾讯科技(深圳)有限公司 一种动画播放方法及装置
CN105373357A (zh) * 2014-08-20 2016-03-02 珠海金山办公软件有限公司 一种在幻灯片放映过程中插入动画的方法、装置及系统
WO2017084302A1 (zh) * 2015-11-16 2017-05-26 深圳Tcl数字技术有限公司 显示终端开机播放视频的方法及显示终端
CN111880877A (zh) * 2020-07-24 2020-11-03 上海米哈游天命科技有限公司 一种动画切换方法、装置、设备及存储介质
CN112700515A (zh) * 2020-12-28 2021-04-23 广州博冠信息科技有限公司 动画播放方法和装置、存储介质、电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103325398A (zh) * 2012-03-23 2013-09-25 腾讯科技(深圳)有限公司 一种动画播放方法及装置
CN105373357A (zh) * 2014-08-20 2016-03-02 珠海金山办公软件有限公司 一种在幻灯片放映过程中插入动画的方法、装置及系统
WO2017084302A1 (zh) * 2015-11-16 2017-05-26 深圳Tcl数字技术有限公司 显示终端开机播放视频的方法及显示终端
CN111880877A (zh) * 2020-07-24 2020-11-03 上海米哈游天命科技有限公司 一种动画切换方法、装置、设备及存储介质
CN112700515A (zh) * 2020-12-28 2021-04-23 广州博冠信息科技有限公司 动画播放方法和装置、存储介质、电子设备

Also Published As

Publication number Publication date
CN117130678A (zh) 2023-11-28

Similar Documents

Publication Publication Date Title
US10503371B2 (en) Virtual tabs supporting web content suspension
EP3266190B1 (en) Presenting a message in a communication session
WO2021143182A1 (zh) 游戏的处理方法、装置、电子设备及计算机可读存储介质
CN105786473A (zh) 多任务界面的任务管理方法、装置及终端设备
US20150095758A1 (en) Web content suspension compatibility and suspended web content lifetime
WO2019105092A1 (zh) 加入网络社群的方法、装置及计算机设备
JP7500574B2 (ja) スタンドアロンプログラムの実行方法、装置、デバイス及びコンピュータプログラム
WO2023273597A1 (zh) 一种通信转移方法、计算机设备和存储介质
CN114748873A (zh) 界面渲染方法、装置、设备和存储介质
CN114042310A (zh) 游戏操作数据收集方法、装置、计算机设备及存储介质
WO2024007710A1 (zh) 动画播放方法、装置、电子设备和计算机可读存储介质
WO2024051148A1 (zh) 云游戏控制方法、装置、电子设备及存储介质
WO2022247507A1 (zh) 播放系统的控制方法及播放系统
WO2023284498A1 (zh) 视频播放方法、装置及存储介质
CN110277110A (zh) 一种网络页面的录音、播放方法、装置及终端
CA2833346C (en) Reducing latency for served applications by anticipatory preprocessing
CN114146406A (zh) 运算资源分配的方法、装置、电子设备和存储介质
CN113577759A (zh) 一种游戏数据的处理方法、电子设备及存储介质
CN114025170A (zh) 视频播放方法、装置、计算机设备和计算机可读存储介质
CN114116090A (zh) 信息展示方法、装置、电子设备及计算机可读存储介质
CN114222148A (zh) 倒计时控制方法、装置、存储介质及计算机设备
CN114827701A (zh) 多媒体信息互动方法、装置、电子设备以及存储介质
US8972479B2 (en) Methods and apparatus for online program application execution between servers
CN112866740A (zh) 直播互动方法、装置、电子设备、存储介质
CN115379250B (zh) 视频处理方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23834487

Country of ref document: EP

Kind code of ref document: A1