2016-06-14 16 views
0

パラメータをAudioEffect::setParameterで設定しようとしていますが、Android Studioでコンパイルエラーが発生します。ここでコンパイルエラー:Android StudioでSymbian AudioEffect :: setParameterが見つかりません

は私のコードです:

import android.media.audiofx.Equalizer; 
... 
private Equalizer mEqualizer = null; 
mEqualizer = new Equalizer(0, mMediaPlayer.getAudioSessionId()); 
mEqualizer.setParameter(0,0); 

これは私の古いEclipseプロジェクトで働いていました。今私はプロジェクトとして新しいを使用していますが、それはエラーを与える:は、シンボルメソッドsetParameterを(int型、int)を見つけることができません

を私もAudioEffectオブジェクトによってコールsetParameter()を試してみました。すると

import android.media.audiofx.AudioEffect; 

AudioEffect effect = null; 
effect = new AudioEffect(AudioEffect.EFFECT_TYPE_EQUALIZER, 
       AudioEffect.EFFECT_TYPE_NULL, 
       0, 
       0); 

effect.setParameter(0,0); 

取得します同じエラー。ここで

は、Android SDKからソースコードです:

アンドロイド-SDKの\アンドロイド-23 \ androidの\メディア\ audiofx \ Equalizer.java:

public class Equalizer extends AudioEffect { 

アンドロイド-SDKの\アンドロイド-23 \アンドロイド\ media \ audiofx \ AudioEffect.java:

public class AudioEffect { 
... 
    public int setParameter(int param, int value) throws IllegalStateException { 
     byte[] p = intToByteArray(param); 
     byte[] v = intToByteArray(value); 
     return setParameter(p, v); 
    } 

Androidスタジオでこのメソッドを呼び出すことができない理由を知っている人はいますか? (ただし、Eclipseで動作します)。

Androidスタジオバージョン2.1.2 Android SDK 23(SDK 22と21も同じエラーが発生しました)を使用しています。

+0

AndroidはJava 8の二重コロンを使用していないので、質問にそれを含めた理由がわかりません –

答えて

0

documentationには、AudioEffectの方法setParametersがありません。どちらも表示されません。タイプEFFECT_TYPE_NULLです。私はsdkでも調べた。古いコードを使用している必要があります。最新のSDKにリファクタリングしてください。 AudioManagerは、方法setParamters(String keyValuePairs)を有する。それはあなたの使用の可能性があります。

+0

ありがとう、私はあなたが正しいと思います。 AudioEffect.javaでは「非推奨」とは見えませんが、これはSDK 23のEclipseでも動作します。 ドキュメントで宣言した他の設定メソッドを試してみます。 – CloudEX

関連する問題