我正在开发一个 Android 应用程序,需要能够播放具有快速暂停和播放功能的视频。
应用程序需要播放视频的特定 1000 毫秒片段。
但是,我在使用 ExoPlayer 时遇到了问题。它很难处理持续时间非常短的视频 - 当我尝试播放此类片段时,视频冻结在一帧,而音频播放没有任何问题。
你知道如何解决吗?
我想我需要用硬件解码来播放我的视频来修复它
但我不知道如何
使用硬件加速解码的能力取决于几个因素:
特定设备是否支持压缩算法、宽度、高度、帧率、比特率、颜色格式的组合。 Android 兼容性定义文档中列出了一些最低要求。但除此之外,不同设备的支持也有所不同。
是否有足够的内存可供硬件编解码器使用。这通常是共享内存,因此可能会受到其他进程的影响。
即使播放器可以使用硬件编解码器,启动它仍然需要一些时间。因此,如果您想最大程度地减少播放延迟,请考虑提前准备播放器(在需要播放之前几毫秒)。