我想使用相同的按钮来启动和停止播放一些for循环内函数play()。 我以为使用锁定变量来做到这一点,但点击后按钮仍然按下,直到功能播放结束执行。 你能提出一些解决方案吗?单击按钮后按钮直到方法结束
我有这样的情况:
public class MainActivity extends Activity {
private static SoundPool sound;
static int lock=1;
int s;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
sound=new SoundPool(20, AudioManager.STREAM_MUSIC, 100);
s=sound.load(this,R.raw.bipsound, 0);
Button button = (Button) findViewById(R.id.button);
}
public void onClick(View v) {
switch(lock) {
case 0:
lock=1;
break;
case 1:
lock=0;
play();
break;
}
}
public void play(){
for(int i=0;i<10;i++){
sound.play(s,1.0f, 1.0f, 1, 0, 1);
if(lock==1)
return;
try {Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}