【请教】请问PAG动效中setProgress与其他任务协作的同步问题如何设计? #2469
-
例如在Android平台,我同时使用某个音频库(如media3/ExoPlayer)播放音频以及PAG来显示动画,其中音频和动画的总时长是相同的。我希望是同步展示(即尽可能地渲染内容与音频位于同一时刻),但二者应该是运行在独立的线程中,可能受其他因素影响会有延迟偏差。我查阅貌似PAGView的setProgress设置进度会即时渲染,如果我在音频库的进度变更事件中去修改PAG动画的进度似乎有些不合适,请问有什么更好的设计与解决方案吗?或者说我本身的想法思路就是不正确的,不适合使用PAG? |
Beta Was this translation helpful? Give feedback.
Answered by
kevingpqi123
Sep 13, 2024
Replies: 1 comment
-
对于大部分播放器而言,如果需要做音画同步,常用的实现方案都是以音频为主时间轴,画面向音频看齐,画面存在一定的延时只要不是太长视觉层面察觉不到,但音频出现一点点的时间偏差就能够听出来。 |
Beta Was this translation helpful? Give feedback.
0 replies
Answer selected by
kevingpqi123
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
对于大部分播放器而言,如果需要做音画同步,常用的实现方案都是以音频为主时间轴,画面向音频看齐,画面存在一定的延时只要不是太长视觉层面察觉不到,但音频出现一点点的时间偏差就能够听出来。
如果想设计得更好,画面渲染一般较为耗时,是需要异步渲染的,当音频播放到一定时刻后,直接去上屏,这时使用的不是 PAGView 的接口而是 PAGSurface、PAGPlayer 的相关接口。