1

私はこの構造を持っています:

1) 主な活動:

public class mainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {   

    super.onCreate(savedInstanceState);      
    setContentView(new GameView(this));

}

2) ゲームビュー

SoundPool sp;
int mySound = 0;    

public class GameView extends SurfaceView implements SurfaceHolder.Callback {


public GameView(Context context) {
    super(context);

    sp = new SoundPool(2, AudioManager.STREAM_MUSIC, 0);
    mySound = sp.load(this, R.raw.mysound, 1);      

}

行「mySound = sp.load(this, R.raw.mysound, 1);」「SoundPool 型のメソッド load(Context, int, int) は、引数 (GameView, int, int) には適用できません」というエラーが表示されます。みんな、どうすれば修正できますか?「extends Activity」を使用すると問題なく動作しますが、SurfaceView では動作しません。助けてください。

4

1 に答える 1

3

次のようにコンテキストを渡すようにコードを変更します。

mySound = sp.load(context, R.raw.mysound, 1);
于 2012-02-12T10:18:34.613 に答える