pili-engineering / PLDroidPlayer

PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK,采用全自研的跨平台播放内核,拥有丰富的功能和优异的性能,可高度定制化和二次开发。
https://developer.qiniu.com/pili/sdk/1210/the-android-client-sdk
4.54k stars 956 forks source link

有类似MediaPlayer.getAudioSessionId()吗? #1248

Open weizai opened 3 years ago

weizai commented 3 years ago

我想在播放音频时,UI实现可视化效果,类似音频波纹, 如果是自带MediaPlayer, 可提供getAudioSessionId()方法,结合Visualizer提取音频数据可实现,不知PLDroidPlayer有没有类似的api

AstaTus commented 3 years ago

PLDroidPlayer 有个 音频数据回调的方法,播放的过程中会将音频数据回调到上层

options.setInteger(AVOptions.KEY_AUDIO_DATA_CALLBACK, 1);
mVideoView.setAVOptions(options);
......

private PLOnAudioFrameListener mOnAudioFrameListener = new PLOnAudioFrameListener() {
        @Override
        public void onAudioFrameAvailable(byte[] data, int size, int samplerate, int channels, int datawidth, long ts) {
            Log.i(TAG, "onAudioFrameAvailable: " + size + ", " + samplerate + ", " + channels + ", " + datawidth + ", " + ts);
        }
    };

......

mVideoView.setOnAudioFrameListener(mOnAudioFrameListener);

你看下 有了这个音频数据能否做可视化展示