伙计们,
我正在使用 MediaCodec 解码网络流。MediaCodec 上的方法 configure() 将 SurfaceView 对象作为参数,从而可以轻松地将输出直接解码到表面视图中。
更改设备方向时会出现问题。旧表面被破坏并创建一个新表面。mediacodec 仍然持有的表面变得无效。
我无法销毁 MediaCodec 对象并重新创建一个新对象。这将导致等待几秒钟,直到新的关键视频帧到达。
查看 MediaCodec 上可用的所有方法,似乎更改表面的唯一方法是调用 configure()。可以在 MediaCodec 对象上多次调用 configure() 吗?
或者,也许有一种方法可以存储 MediaCodec 对象的内部状态并将其传输到新的 MediaCodec 对象。
如果您能指导我正确的方向,我将不胜感激。预先感谢您的帮助。