我无法弄清楚如何管理打开/关闭音乐的togglebutton。当用户点击它时,它应该只是连续循环直到它被关闭。我正在使用soundpool,如果有的话,我可以通过使用音池或媒体播放器来检测我的媒体是否正在播放。但我无法找到任何相关的文档和类似的问题没有一个很好的答案; How to tell if a sound is still playing in soundpool
到目前为止,我有这个:
final ToggleButton tglbuttn = (ToggleButton) findViewById(R.id.toggleButton1);
final SoundPool mySp = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
final int soundId = mySp.load(this, R.raw.music, 1);
tglbuttn.setChecked(????????); //what could go here?
tglbuttn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
}
如果我能以某种方式得到像这样的蓝牙toggleswitch,但与soundpool / mediaplayer,一种方式来结合媒体播放的实际状态与togglebutton的状态:
tglbtn.setChecked(myBluetooth.isEnabled());
答案 0 :(得分:2)
您可以使用isChecked方法切换按钮。试试这个:
//Make your activity implements OnClickListener
public class MyActivity extends Activity implements OnClickListener {
然后:
//In your OnCreate()
tglbuttn.setOnClickListener(this);
最后:
//Add this method to your Activity
@Override
public void onClick(View v) {
if(v==tglbuttn) {
if(v.isChecked())
play();
else
stop();
tglbuttn.setChecked(!tglbuttn.isChecked()); //It will be toggled
}
}