Raj*_*ahu 8 audio android visualization
我在我的演示应用程序中使用AndroidFX Visualizer类来读取FFT,但是当我尝试创建该类的对象时,它会抛出运行时异常(java.lang.RuntimeException: Cannot initialize Visualizer engine, error: -1).Player类是我的播放控件的自定义类,并使用相同的Player类我已经实现了均衡器类,并且工作正常.我需要在清单文件中添加任何权限吗?
Player mediaPlayer = Player.GetInstance();
mediaPlayer.LoadFile("song.mp3");
mediaPlayer.Play();
try{
visual = new Visualizer(mediaPlayer.GetAudioSessionID()); // this line causing Exception
visual.setEnabled(true);
visual.setCaptureSize(Visualizer.getCaptureSizeRange()[1]);
}
catch(Exception ex)
{
Log.e("Visual Ex", ex.getMessage());
}
Run Code Online (Sandbox Code Playgroud)
Raj*_*ahu 27
那是因为我的愚蠢错误,该功能需要<uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>许可.谢谢
我知道这是一个很晚的答案,但我也为这个问题而苦苦挣扎,我想分享自己的经验。
首先,作为上述答案,权限
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
Run Code Online (Sandbox Code Playgroud)
并且,如果使用音频源0(Visualizer(0); //system mix),
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
Run Code Online (Sandbox Code Playgroud)
是必需的。将权限添加到我的应用程序并再次安装(新编译的)应用程序后,我的应用程序仍然崩溃。我发现,必须重新启动设备才能使用Visualizer,而无任何异常(无论出于何种原因)。因此,如果您开发应用程序并遇到此异常,则在向应用程序添加权限后可能需要重新启动。