我有这个结构:
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)”。伙计们,我该如何解决?当我使用“扩展活动”时,它可以正常工作,但在SurfaceView中则不起作用。请帮助。
最佳答案
更改代码以传递上下文,如下所示:
mySound = sp.load(context, R.raw.mysound, 1);