2012-10-15 38 views
5

我有一個應用於全球音頻組合的低音增強效果的應用程序。不幸的是,自4.0.3開始,音頻會話0的使用已被棄用,我無法找到解決方法。有沒有掃描音頻會話ID的方法?這裏是我的logcat:Android 4.0.3+上的全球音頻和會話ID

10-16 20:58:01.569: E/AndroidRuntime(645): FATAL EXCEPTION: main 
10-16 20:58:01.569: E/AndroidRuntime(645): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.rustlesoft.bassbooster/com.rustlesoft.bassbooster.BassBooster}: java.lang.IllegalArgumentException: Effect type: 0634f220-ddd4-11db-a0fc-0002a5d5c51b not supported. 
10-16 20:58:01.569: E/AndroidRuntime(645): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1983) 
10-16 20:58:01.569: E/AndroidRuntime(645): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 
10-16 20:58:01.569: E/AndroidRuntime(645): at android.app.ActivityThread.access$600(ActivityThread.java:130) 
10-16 20:58:01.569: E/AndroidRuntime(645): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 
10-16 20:58:01.569: E/AndroidRuntime(645): at android.os.Handler.dispatchMessage(Handler.java:99) 
10-16 20:58:01.569: E/AndroidRuntime(645): at android.os.Looper.loop(Looper.java:137) 
10-16 20:58:01.569: E/AndroidRuntime(645): at android.app.ActivityThread.main(ActivityThread.java:4745) 
10-16 20:58:01.569: E/AndroidRuntime(645): at java.lang.reflect.Method.invokeNative(Native Method) 
10-16 20:58:01.569: E/AndroidRuntime(645): at java.lang.reflect.Method.invoke(Method.java:511) 
10-16 20:58:01.569: E/AndroidRuntime(645): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
10-16 20:58:01.569: E/AndroidRuntime(645): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
10-16 20:58:01.569: E/AndroidRuntime(645): at dalvik.system.NativeStart.main(Native Method) 
10-16 20:58:01.569: E/AndroidRuntime(645): Caused by: java.lang.IllegalArgumentException: Effect type: 0634f220-ddd4-11db-a0fc-0002a5d5c51b not supported. 
10-16 20:58:01.569: E/AndroidRuntime(645): at android.media.audiofx.AudioEffect.<init>(AudioEffect.java:381) 
10-16 20:58:01.569: E/AndroidRuntime(645): at android.media.audiofx.BassBoost.<init>(BassBoost.java:101) 
10-16 20:58:01.569: E/AndroidRuntime(645): at com.rustlesoft.bassbooster.BassBooster.<init>(BassBooster.java:14) 
10-16 20:58:01.569: E/AndroidRuntime(645): at java.lang.Class.newInstanceImpl(Native Method) 
10-16 20:58:01.569: E/AndroidRuntime(645): at java.lang.Class.newInstance(Class.java:1319) 
10-16 20:58:01.569: E/AndroidRuntime(645): at android.app.Instrumentation.newActivity(Instrumentation.java:1053) 
10-16 20:58:01.569: E/AndroidRuntime(645): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1974) 
10-16 20:58:01.569: E/AndroidRuntime(645): ... 11 more 

回答

1

它可能被棄用,但應用在全球產出組合的效果(會話0),還是應該在這兩個ICS和JB工作,只要你有MODIFY_AUDIO_SETTINGS許可,你不也不會對除0之外的任何會話應用任何效果。

+0

我有許可權許可,還有比低音沒有其它的支持作用提升,但應用程序在4.0.3及更高版本啓動時仍然崩潰。如果我提供了logcat,會有幫助嗎? – user1745892

+0

這可能是一個好主意。 – Michael

+0

@Michael:我有同樣的問題。你能提供一些關於如何製作它的代碼嗎? –

0

這可能是抓住吸管,但看着你的堆棧跟蹤,但我懷疑你試圖應用的音頻效果可能根本不支持。

你可以嘗試打電話queryEffects()並通過Descriptor對象重複檢查的音頻效果,你想申請類型是第一個