我在我的演示应用程序中使用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) 我正在制作一个media player需要设置均衡器效果,"seek Baar"因为"Bass","terrible","Rock","Pop","Medium"..我得到了一个链接,其中为此做了一些NDK库使用..是否有任何Java库来做它并请任何解释什么是逻辑这样做.我被困在这里2天.任何帮助将不胜感激...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.equalizertab);
f
}
} else {
try {
((GlobalState) getApplicationContext())
.resetEQ();
} catch (RemoteException re) {
// TODO:
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
记录下面的猫:
05-25 11:52:16.630: E/AndroidRuntime(19088): FATAL EXCEPTION: main
05-25 11:52:16.630: E/AndroidRuntime(19088): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.apis.media/com.example.android.apis.media.AudioFxDemoActivity}: java.lang.RuntimeException: Cannot initialize Visualizer engine, error: -1
05-25 11:52:16.630: E/AndroidRuntime(19088): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1818)
05-25 11:52:16.630: E/AndroidRuntime(19088): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1834)
05-25 11:52:16.630: E/AndroidRuntime(19088): at android.app.ActivityThread.access$500(ActivityThread.java:122)
05-25 11:52:16.630: E/AndroidRuntime(19088): at …Run Code Online (Sandbox Code Playgroud) 我3天前开始为Android编程,今天我想用android Api的一些类做一些更难的事情.我找到了Visualizer课程,并且首先尝试我遇到了问题.我在不同的论坛上阅读了许多有相同问题的人:无法初始化可视化引擎.
我将requierd uses-permission添加到Manifest.xml中
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.program.fourier"
android:versionCode="1"
android:versionName="1.0" >
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".mainFFT"
android:label="@string/title_activity_main_fft" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
接下来我试图解决这个问题,但我不能.这是我的完整代码:
package org.program.fourier;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;
import android.media.audiofx.Visualizer;
import android.media.audiofx.Visualizer.OnDataCaptureListener;
import android.media.MediaPlayer;
import android.media.AudioManager;
public class mainFFT extends Activity {
MediaPlayer mPlayer;
Visualizer vis;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_fft); …Run Code Online (Sandbox Code Playgroud)