2012-08-12 131 views
0

我无法确定如何管理打开/关闭音乐的切换按钮。当用户点击它时,它应该持续循环直到关闭。我正在使用soundpool,如果有某种情况我可以通过使用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 /媒体播放器,这是一种在媒体的实际情况配合与国家打的togglebutton:

tglbtn.setChecked(myBluetooth.isEnabled()); 

回答

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 
    } 
} 
+0

我拿到器isChecked()不用于查看定义,如果我加入演员阵容,应用程序崩溃,一旦按钮。在LogCat中无效输出。 – 2012-08-12 03:56:00

+0

这是因为tglbuttn没有在内部类中定义。尝试编辑。 – iTurki 2012-08-12 04:09:33

+0

Void是变量onClick的无效类型,当删除onClick时无法解析为某个类型。 – 2012-08-12 05:31:21