Tuesday, 9 February 2021

how to implement audio visualizer to exoplayer

I am working on a radio app . I used exoplayer as player on my project and I want to add audio visualizer on my playeractivity . but I couldn't find any tutorial or sample for it . I just made a customeRenderfactory and add it to my player . But I don't know what should I do more ? any help or suggestion ? I should mention my player work fine right now and I just need to find a solution to add visualizer to it . RenderFactory class :

public class RenderFactory extends DefaultRenderersFactory {
private TeeAudioProcessor.AudioBufferSink listener;
private AudioProcessor[] aMProcessors;
private TeeAudioProcessor teeAudioProcessor;
private AudioRendererEventListener eventListener;

public RenderFactory(Context context, TeeAudioProcessor.AudioBufferSink myListener) {
    super(context);
    this.listener = myListener;
    teeAudioProcessor = new TeeAudioProcessor(this.listener);
}

@Override
protected void buildAudioRenderers(Context context, int extensionRendererMode, MediaCodecSelector mediaCodecSelector, @Nullable DrmSessionManager<FrameworkMediaCrypto> drmSessionManager, boolean playClearSamplesWithoutKeys, boolean enableDecoderFallback, AudioProcessor[] audioProcessors, Handler eventHandler, AudioRendererEventListener eventListener, ArrayList<Renderer> out) {

    aMProcessors = new AudioProcessor[]{teeAudioProcessor};
    super.buildAudioRenderers(context, extensionRendererMode, mediaCodecSelector, drmSessionManager, playClearSamplesWithoutKeys, enableDecoderFallback, aMProcessors, eventHandler, eventListener, out);
 }
}

in my playerActivity I added this code and set renderfactory to my player but nothing happened .

   RenderFactory renderFactory = new RenderFactory(this, new TeeAudioProcessor.AudioBufferSink() {
        @Override
        public void flush(int sampleRateHz, int channelCount, int encoding) {
            // what should I add here?
        }

        @Override
        public void handleBuffer(ByteBuffer buffer) {
            // what should I add here?
        }
    });

I tried to followed this tutorial but I wasn't successful.

tutorial



from how to implement audio visualizer to exoplayer

No comments:

Post a Comment