我正试图在图像上播放点击声(ImageView / Button)点击,我看到example here。我也试过用这个:
profile_pick.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
v.playSoundEffect(android.view.SoundEffectConstants.CLICK);
Intent i=new Intent(getApplicationContext(),Profile_pic.class);
startActivity(i);
overridePendingTransition(R.anim.animation,R.anim.animation2);
}
});
但它不起作用。谁能建议怎么做?
(添加原始声音不是一个好主意,所以我更喜欢使用系统声音...)
答案 0 :(得分:3)
将android:soundEffectsEnabled="true"
添加到profile_pick
。文档说明
只有在启用了声音效果时才会播放声音效果 用户,isSoundEffectsEnabled()为true。
因此两个条件都是强制性的。 Here您可以找到文档
答案 1 :(得分:1)
profile_pick.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
AudioManager audioManager =
(AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
audioManager.playSoundEffect(SoundEffectConstants.CLICK);
Intent i=new Intent(getApplicationContext(),Profile_pic.class);
startActivity(i);
overridePendingTransition(R.anim.animation,R.anim.animation2);
}
});
答案 2 :(得分:0)
首先,您需要将语句放在一个块中,在本例中是onCreate方法。
之后,将按钮初始化为变量1,然后使用变量零并将其onClickListener设置为不完整的onClickListener。将变量1用于setOnClickListener。
最后,将逻辑放在onClick中播放声音。
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class BasicScreenActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_basic_screen);
Button one = (Button)this.findViewById(R.id.button1);
final MediaPlayer mp = MediaPlayer.create(this, R.raw.soho);
one.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
mp.start();
}
});
}
}