gpt4 book ai didi

android - 使用切换按钮控制声音

转载 作者:行者123 更新时间:2023-11-30 02:04:46 24 4
gpt4 key购买 nike

我需要我的应用程序在选中切换按钮时播放所有声音,并在未选中时停止播放它们。所有声音是指在按下 Activity 和其他 Activity 中存在的其他按钮时播放的声音。

以下是我的切换按钮:

<ToggleButton
android:layout_width="70dp"
android:layout_height="70dp"
android:id="@+id/toggleButton"
android:button="@drawable/check"
android:background="@null"
android:onClick="togglesound"
/>

检查.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- When selected, use grey -->
<item android:drawable="@drawable/speaker"
android:state_checked="true" />
<!-- When not selected, use white-->
<item android:drawable="@drawable/stopsound"
android:state_checked="false"/>
</selector>

我使用了一个静态变量“play”,我打算在切换按钮被选中时将其值设置为 1,而在未选中时设置为 0。

 public void togglesound(View view) {
boolean on = ((ToggleButton) view).isChecked();

if (on) {
play=1;
// Enable sound
} else {
play=0;
// Disable sound

}

在此之后,我使用“播放”来播放所需的声音

 if(play==1) 
{
over = MediaPlayer.create(Play.this, R.raw.over);
over.start();
over.setOnCompletionListener(
newMediaPlayer.OnCompletionListener()
{
public void onCompletion(MediaPlayer mp) {
mp.release();
}

});
}
else
{}

我面临的问题是切换按钮在第一次被点击时工作正常,但即使未选中切换按钮也会播放声音。

最佳答案

终于修好了!!

我没有使用“play”和“on”,而是只使用“play”,它是一个静态 bool 变量。因此,代码简化为 -

public void togglesound(View view) {
play = ((ToggleButton) view).isChecked();
}

我不得不添加几行来保存切换按钮的状态。

 private static Bundle bundle = new Bundle();
ToggleButton tg=(ToggleButton)findViewById(R.id.toggleButton);

public void onPause() {
super.onPause();
bundle.putBoolean("ToggleButtonState", play);
}

@Override
public void onResume() {
super.onResume();
tg.setChecked(bundle.getBoolean("ToggleButtonState",false));
}

关于android - 使用切换按钮控制声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30854678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com