当前位置:  开发笔记 > Android > 正文

Android中的Visualizer输出取决于设备音量

如何解决《Android中的Visualizer输出取决于设备音量》经验,为你挑选了0个好方法。

已经有这样一个问题,但似乎解决方法建议根本不起作用。可视化器的输出仍受全局音量影响,当音量完全调低但MediaPlayer仍在播放时,它的值为零。

这是我的代码来重现此问题:

    player=new MediaPlayer();
    player.setAudioSessionId(SHARED_SESSION_ID);
    try {
        player.setDataSource("https://example.com/song.mp3");
        player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
                mp.start();
            }
        });
        player.prepareAsync();
    }catch(Exception x){
        Log.w(TAG, x);
    }

    equalizer=new Equalizer(0, SHARED_SESSION_ID);
    equalizer.setEnabled(true);

    visualizer=new Visualizer(SHARED_SESSION_ID);
    int visualizerFftSize=Visualizer.getCaptureSizeRange()[1];
    visualizer.setCaptureSize(visualizerFftSize);
    visualizer.setDataCaptureListener(new Visualizer.OnDataCaptureListener() {
        @Override
        public void onWaveFormDataCapture(Visualizer visualizer, byte[] waveform, int samplingRate) {
            int max=0, min=255;
            for(int i=0;i

奇怪的是,来自ApiDemos的此示例在相同设备(Nexus 5,Nexus 4和Nexus 6P)上也能正常工作。我试图将其复制得尽可能近。我还尝试在初始化Visualizer之前或之后初始化和/或启用均衡器,但这绝对没有改变。

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有