我是Android开发的新手,并试图开发一个简单的应用程序,其中使用按钮来播放声音。我想使用的Soundpool并发现每个教程提供制作的Soundpool对象之后,再加入这样的代码:使用soundpool获取声音
soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
@Override
public void onLoadComplete(SoundPool soundPool, int sampleId,
int status) {
loaded = true;
}
});
但是当我尝试在Eclipse中使用此代码,它说
的方法new SoundPool.OnLoadCompleteListener(){}的onLoadComplete(SoundPool,int,int)必须重写超类方法。 并建议删除@override表示法。这应该发生,如果没有这样的方法??为什么我得到这个错误?
当我把soundID = soundPool.load(this,R.raw.mysound,1);
上述代码之后,蚀说,在类型的Soundpool的方法负载(上下文,INT,INT)是不适用的参数(新View.OnClickListener(){},INT,INT)
此是我的全部代码: public class FirstActivity extends Activity活动第一次创建时调用。 */
private SoundPool soundPool;
int soundID;
boolean loaded = false;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button bPlay = (Button) findViewById(R.id.bPlay);
final TextView aRing = (TextView)findViewById(R.id.tAlarmRinging);
bPlay.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
aRing.setVisibility(View.VISIBLE);
soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
@Override
public void onLoadComplete(SoundPool soundPool, int sampleId,
int status) {
loaded = true;
}
});
soundID = soundPool.load(this, R.raw.mysound, 1);
}
});
}
}
编译它时编译它? – JMelnik
即使在删除了ovverride表示法之后,它也给了我更多的错误 – tanvi
您的项目在属性中有8个API级别吗? – sandrstar