检测声音是否正在播放/管理切换按钮

时间:2012-08-12 02:54:11

标签: android adt soundpool

我无法弄清楚如何管理打开/关闭音乐的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());

1 个答案:

答案 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
     }
}