HarmonyOS鸿蒙Next中AVPlayer在暂停或完成状态下重新设置surfaceId后没有画面

HarmonyOS鸿蒙Next中AVPlayer在暂停或完成状态下重新设置surfaceId后没有画面 AVPlayer在PAUSED或者COMPLETED状态下,重新赋值surfaceId, 没有画面,重新播放才会有视频画面

4 回复

切换surfaceid后有播放吗,肯定要播放才会继续送画面的。已经消费掉的画面,在重新设置surface上是不会保留。

更多关于HarmonyOS鸿蒙Next中AVPlayer在暂停或完成状态下重新设置surfaceId后没有画面的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


就是bug, 我在8月份提过了,现在修复了。

重设surfaceId写全屏切换很方便。但是原先暂停状态下切换没画面,重设surfaceId这个方法就相当于没用了,

在HarmonyOS鸿蒙Next中,AVPlayer在暂停或完成状态下重新设置surfaceId后没有画面,可能是由于surfaceId未正确绑定到AVPlayer的渲染组件上。在鸿蒙系统中,AVPlayer与surfaceId的绑定需要在播放器准备就绪后进行。如果在暂停或完成状态下重新设置surfaceId,需要确保重新绑定渲染组件并调用prepare()方法重新准备播放器。此外,检查surfaceId是否有效,确保其对应的SurfaceProviderSurfaceView已经正确初始化。如果问题仍然存在,可能需要重新创建AVPlayer实例并重新设置surfaceId

在HarmonyOS鸿蒙Next中,AVPlayer在暂停或完成状态下重新设置surfaceId后没有画面,可能是由于Surface未正确绑定或状态未同步。建议在设置surfaceId后,调用reset()方法重新初始化播放器,或确保在prepareAsync()之后调用start()以刷新播放状态。此外,检查SurfaceView的生命周期,确保其在正确时机创建和销毁。

回到顶部