2012-02-12 70 views
1

我有這樣的結構:我怎麼能在SurfaceView使用的Soundpool?

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(此,R.raw.mysound ,1);「它給我的錯誤 - 「在類型的Soundpool的方法負載(上下文,INT,INT)不適用於參數(GameView,INT,INT)」。夥計們,我該如何解決它?當我使用「擴展活動」它可以正常工作,但在SurfaceView中不起作用。請幫助。

回答

3

更改您的代碼通過上下文,像這樣:

mySound = sp.load(context, R.raw.mysound, 1);