Realizzo uno sfondo animato per Android 2.3.3 e ha utilizzato la classe Visualizer. Ho già una versione funzionante del mio programma Visualizer che funziona da solo, ma quando inserisco il codice in un servizio Live Wallpaper, inizia il mio problema. Il seguente codice è dove esiste l'errore:android.media.audiofx.Visualizer eccezione di lancio ogni altra volta
// Called in my Engine extension's constructor
public void setupVisualizer()
{
mBytes = null;
mVisualizer = new Visualizer(0);
// EDIT
mVisualizer.setEnabled(false); // This fixes the issue
// END EDIT
mVisualizer.setCaptureSize(
Visualizer.getCaptureSizeRange()[1]); // IllegalStateException Thrown
mVisualizer.setDataCaptureListener() {
public void onWaveFormDataCapture(Visualizer visualizer,
byte[] bytes, int samplingRate) {
updateVisualizer(bytes);
}
public void onFftDataCapture(Visualizer visualizer,
bytes[] bytes, int samplingRate) {}
}, Visualizer.getMaxCaptureRate()/2, true, false);
mVisualizer.setEnabled(true);
}
Ecco la parte strana, quando sto cercando l'elenco live wallpaper, io toccarlo per visualizzare l'anteprima e funziona benissimo. Senza impostarlo come sfondo attivo, premo il pulsante Indietro e poi lo seleziono di nuovo e si blocca. Posso ripetere questo processo e si blocca solo ogni altra volta e funziona le altre volte. Se scelgo di impostarlo come sfondo attivo, si blocca ogni volta.
che ha funzionato! Grazie mille. Dice che non posso assegnare il premio per altre 6 ore ma lo farò una volta. – Foggzie
Sono felice di sentire. Non ho mai lavorato con Visualizer in precedenza, e spero che il mio metodo per trovare il problema ti serva in altri momenti di bisogno. – MByD
Questo mi ha aiutato a correggere un errore simile che stavo avendo con l'orientamento dello schermo! Ottimo lavoro, grazie. – kabuto178