Frage

In der Stichprobe audiofxdemo.java, mit dem SDK versehen, bekomme ich eine

java.lang.RuntimeException: Cannot initialize Visualizer engine, error: -4

Beim Versuch, die Android.media.audiofx.visualizer zu erstellen

mVisualizer = new Visualizer(mMediaPlayer.getAudioSessionId());

(Audiofxdemo.java:173).

Soweit ich sehen kann, stammt der Fehler in der nativen Code, (Zeilen 266 ff.) Ein Fehler tritt ebenfalls auf, wenn versucht wird, die Android.media.audiofx.equalizer zu erstellen:

mEqualizer = new Equalizer(0, mMediaPlayer.getAudioSessionId());

(Audiofxdemo.java:98)

Ich bekomme ein

java.lang.IllegalArgumentException: Effect type: 0bed4300-ddd6-11db-8f34-0002a5d5c51b not supported.

Ich habe die folgenden Berechtigungen für mein Projekt deklariert:

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

Irgendwelche Ideen, was könnte hier schief gehen?

Es scheint ein Problem mit der API -Ebene zu sein. Ich habe keine Probleme auf Lebkuchen (API -Stufe 10). Ich habe nur auf virtuellen Geräten getestet.

War es hilfreich?

Lösung

Dies scheint ein Problem mit dem Emulator zu sein. Ich habe auf einem tatsächlichen Gerät getestet, das Android 4.0.3 ausführt, und es hat gut funktioniert.

Andere Tipps

Es scheint ein Problem auf einigen Android -Geräten zu sein. Ich habe diesen Absturz bekommen http://pastebin.com/7kqpbxkv Auf Lenovo A369I SDK Version 17. Für den Moment habe ich nur festgestellt, ob der Equalizer -Effekt auf dem Gerät unterstützt wird:

boolean supports_equalizer=false;
AudioEffect.Descriptor [] effects = Equalizer.queryEffects();
for (AudioEffect.Descriptor lDescriptor:effects){
   if (Build.VERSION.SDK_INT>=18) { //Equalizer present only starting with API 18. Cam try to hardcode its UUID
     if (AudioEffect.EFFECT_TYPE_EQUALIZER.equals(lDescriptor.uuid)){
        supports_equalizer=true;
     }
   }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top