How to inject a Renderer to SimpleExoPlayer

Viewed 1216

I use Exoplayer 2.9.0 and Audio 360 There are two renderers:

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

I know how to inject it to an Exoplayer Object:

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

However, I only use SimpleExoPlayer. I wonder how to do the same for SimpleExoPlayer object? Alternatively, Is there a way to pass an ExoPlayer to a SimpleExoPlayer object ? Thanks,

1 Answers

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

If you really only need those two Renderers then you could pass in your own implementation of the RendererFactory which just returns those two. Or you can consider using DefaultRendererFactory modifying it.

Related