如何将渲染器注入 SimpleExoPlayer

How to inject a Renderer to SimpleExoPlayer

我使用 Exoplayer 2.9.0 和 Audio 360 有两个渲染器:

val videoRenderer = MediaCodecVideoRenderer(mActivity, MediaCodecSelector.DEFAULT)
val audioRenderer = OpusRenderer(mVideoHelper.audio360Sink)

我知道如何将它注入 Exoplayer 对象:

val render = arrayOf(videoRenderer, audioRenderer)
Exoplyer exoPlayer = ExoPlayerFactory.newInstance(render ,DefaultTrackSelector())

但是,我只使用SimpleExoPlayer。我想知道如何对 SimpleExoPlayer 对象做同样的事情?或者,有没有办法将 ExoPlayer 传递给 SimpleExoPlayer 对象? 谢谢,

SimpleExoPlayer gets its Renderers off of a RendererFactory which is passed in during SimpleExo initialization. The usual one you see is the DefaultRendererFactory.

如果您真的只需要这两个 Renderers,那么您可以传入您自己的 RendererFactory 实现,其中只有 returns 这两个。或者可以考虑使用DefaultRendererFactory修改