Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从android MEDIA PLAYER获取会话id?_Java_Android - Fatal编程技术网

Java 从android MEDIA PLAYER获取会话id?

Java 从android MEDIA PLAYER获取会话id?,java,android,Java,Android,我正在尝试为android 2.3及更高版本开发一种基于频谱的实时壁纸,当音乐播放或有人触摸屏幕时,这种壁纸会发生变化。问题是我需要获取会话id来初始化可视化工具,以便 如何从android获取sessionId 如果您能告诉我如何正确初始化可视化工具以获取FFT数据,或者以其他方式获取FFT数据,那就太好了。默认音频会话id为0(它将对所有声音输出音乐、系统声音做出反应) 对于init Visualizer,获取FFT的一种方法是: Visualizer viz = new Visualize

我正在尝试为android 2.3及更高版本开发一种基于频谱的实时壁纸,当音乐播放或有人触摸屏幕时,这种壁纸会发生变化。问题是我需要获取会话id来初始化可视化工具,以便

如何从android获取sessionId


如果您能告诉我如何正确初始化可视化工具以获取FFT数据,或者以其他方式获取FFT数据,那就太好了。

默认音频会话id为0(它将对所有声音输出音乐、系统声音做出反应)

对于init Visualizer,获取FFT的一种方法是:

Visualizer viz = new Visualizer(0);
 viz.setCaptureSize(Visualizer.getCaptureSizeRange()[1]);

        viz.setDataCaptureListener(new OnDataCaptureListener() {

            @Override
            public void onWaveFormDataCapture(Visualizer arg0, byte[] arg1, int arg2) {
                //Wave procesing here

            }
            @Override
            public void onFftDataCapture(Visualizer arg0, byte[] arg1, int arg2) {
                //FFT procesing here!
                }


        }, Visualizer.getMaxCaptureRate(), true, true);
        viz.setEnabled(true);
另一个看起来像这样:

    Visualizer viz = new Visualizer(0);
         viz.setCaptureSize(Visualizer.getCaptureSizeRange()[1]);
    viz.setEnabled(true);
//to get data use viz.getFft(fftdata);
    viz.getFft(fftdata);
在清单中,您需要添加一些前提:

 <uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>


您发布过使用此功能的应用程序吗?我做到了,我得到了很多关于它的报道,只是在Galaxy Nexus和Galaxy S3上与某些媒体播放器合作。这对我来说没有意义,因为我认为输出组合在任何情况下都包括来自所有媒体播放器的声音。@TenFour04我发布了一个应用程序使用它,但我的问题是,它不适用于旧设备上的收音机。有趣的是,收音机不工作。当我有时间的时候,我将尝试看看是否有办法查询所有活动音频会话,然后检查每个会话。但不确定这是否是一个好的解决方案,因为您必须不断地从各个会话中提取FFT,以确定其中是否有声音。