Android 触摸按钮上没有声音
如果我使用:Android 触摸按钮上没有声音,android,button,touch,audio,Android,Button,Touch,Audio,如果我使用: final Button btnNught = (Button) findViewById(R.id.night); btnNught.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // Perform action on click btnNught.setPressed(true);
final Button btnNught = (Button) findViewById(R.id.night);
btnNught.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
btnNught.setPressed(true);
}
});
如果我点击按钮,我会听到声音,但如果我使用:
btnNught.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (btnNught.isPressed()) {
btnNught.setPressed(false);
return true;
}
else {
btnNught.setPressed(true);
return false;
}
}
});
我触摸时听不到任何声音。
我哪里出错了
编辑:
我想创建两种状态的类似按钮的togglebutton:按下和未按下,当然有两种不同的颜色(正常的浅灰色未按下和按下时的绿色)
在这种情况下(如上所述),当我按下按钮时,我不会听到任何声音,但如果我使用onClick方法,我会听到“click”声音。
当我使用onTouch方法时,如何获得“点击”或“触摸”声音?请说明,在什么条件下可以获得btnught.setPressed(true);在第二个例子中?如我所见,你根本不能按这个按钮。在“动作向下”时,您将使用该动作,因此按钮不会被按下
编辑:在侦听器的开始处放置一个断点,并在按钮使用的不同变体中输入它。并检查其行为。请问,在什么条件下可以到达btnught.setPressed(true);在第二个例子中?如我所见,你根本不能按这个按钮。在“动作向下”时,您将使用该动作,因此按钮不会被按下
编辑:在侦听器的开始处放置一个断点,并在按钮使用的不同变体中输入它。然后检查行为。您想播放声音的时候,您的问题不是很清楚,但我回答您的问题时假设您想在动作发生时播放。如果您计划创建切换按钮,您的代码应该如下所示
btnNught.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()!=MotionEvent.ACTION_UP ||
event.getAction()!=MotionEvent.ACTION_DOWN)
{
return false;
}
if(event.getAction()==MotionEvent.ACTION_DOWN)
{
btnNught.setPressed(true);
//Set whatever color you want to set
}
else
{
btnNught.setPressed(false);
}
return true;
}
});
你想播放声音的时候,你的问题不是很清楚,但我回答你的问题时假设你想在动作发生时播放。如果你计划创建一个切换按钮,你的代码应该是这样的
btnNught.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()!=MotionEvent.ACTION_UP ||
event.getAction()!=MotionEvent.ACTION_DOWN)
{
return false;
}
if(event.getAction()==MotionEvent.ACTION_DOWN)
{
btnNught.setPressed(true);
//Set whatever color you want to set
}
else
{
btnNught.setPressed(false);
}
return true;
}
});
尝试将
android:soundEffectsEnabled=“true”
添加到您的
标签。尝试将android:soundEffectsEnabled=“true”
添加到您的
标签。以下行将播放单击声音:
btnNught.playSoundEffect(SoundEffectConstants.CLICK);
以下行将播放“咔嗒”声:
btnNught.playSoundEffect(SoundEffectConstants.CLICK);
这样做对我来说很有用:
btnNught.setSoundEffectsEnabled(true);
btnNught.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()!=MotionEvent.ACTION_UP ||
event.getAction()!=MotionEvent.ACTION_DOWN)
{
return false;
}
if(event.getAction()==MotionEvent.ACTION_DOWN)
{
btnNught.playSoundEffect(SoundEffectConstants.CLICK);
//Set whatever color you want to set
}
else
{
}
return true;
}
});
这样做对我来说很有用:
btnNught.setSoundEffectsEnabled(true);
btnNught.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()!=MotionEvent.ACTION_UP ||
event.getAction()!=MotionEvent.ACTION_DOWN)
{
return false;
}
if(event.getAction()==MotionEvent.ACTION_DOWN)
{
btnNught.playSoundEffect(SoundEffectConstants.CLICK);
//Set whatever color you want to set
}
else
{
}
return true;
}
});
听声音有两种方式 1使用内置声音
Go to Settings -> Sound ->
And do the following settings
sound profile set **Normal**
Touch sound set **ON**
听声音有两种方式 1使用内置声音
Go to Settings -> Sound ->
And do the following settings
sound profile set **Normal**
Touch sound set **ON**
我想创建一个类似于TogleButton的按钮,具有两种状态。按下和“正常”,非按下状态,有两种不同的颜色。当你听不到任何声音时,它会被按下吗?看编辑后的答案。哦,还有一个问题:它什么时候应该发出噪音?更改按钮状态或更改为按下状态或在所有按下状态期间?请提出疑问。按钮是否处于按下状态?你把断点放在监听器的开头了吗?它不是偶然工作两次吗?我想创建两种状态的按钮。按下和“正常”,非按下状态,有两种不同的颜色。当你听不到任何声音时,它会被按下吗?看编辑后的答案。哦,还有一个问题:它什么时候应该发出噪音?更改按钮状态或更改为按下状态或在所有按下状态期间?请提出疑问。按钮是否处于按下状态?你把断点放在监听器的开头了吗?它不是偶然工作两次吗?和以前一样。没有声音。您是否听到其他应用程序发出的声音?它能像您的音量设置那样简单吗?如果设置不允许,应用程序将无法发出声音。起初我认为这可能是个问题。但在其他应用中,声音与以前一样。没有声音。您是否听到其他应用程序发出的声音?它能像您的音量设置那样简单吗?如果设置不允许,应用程序将无法发出声音。起初我认为这可能是个问题。但在其他应用程序中,声音是我的问题。我希望现在的问题正是:)我编辑了我的问题。我希望现在的问题正是:)