我正在爲Android 2.3.3製作動態壁紙,並使用Visualizer類。我已經有一個工作版本的Visualizer程序作爲獨立工作,但是當我將代碼放入Live Wallpaper服務時,我的問題就開始了。下面的代碼是其中存在錯誤:android.media.audiofx.Visualizer每隔一段時間拋出異常
// 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);
}
這裏的怪異的一部分,當我在尋找通過現場壁紙列表中,我會點擊它來查看預覽,它工作正常。沒有將它設置爲活動壁紙,我點擊後退按鈕,然後再次選擇它並崩潰。我可以重複這個過程,它只會在其他時間崩潰並在其他時間工作。如果我選擇將其設置爲活動牆紙,則每次都會崩潰。
這工作之前調用展示臺對象
setEnabled(false)
!非常感謝。它說我不能獎勵另外6個小時的獎金,但我會盡我所能。 – Foggzie 2012-02-14 17:18:18我很高興聽到。我之前從未與Visualizer合作過,我希望我的方法能夠在需要的其他時候爲您找到問題。 – MByD 2012-02-14 17:19:58
這幫助我解決了屏幕方向的類似錯誤!非常感謝。 – kabuto178 2013-06-01 19:11:06