dmg*_*yza 22 audio android ontouchlistener android-mediaplayer
在我的Android应用程序中我有一些按钮,应该使用onTouch()方法,当然我需要更改按钮的文本,当手指在ACTION_DOWN位置.但是这个按钮应该播放按钮点击的默认 android声音(就像onClick()方法).哪里可以找到这样的声音?我认为,它必须在SDK中,但我怎样才能找到它?哪种方法更适合这种操作?我正在使用MediaPlayer.
清单:
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
addTextShadow(v);
Log.v(LOG_TAG, "ACTION_DOWN");
break;
case MotionEvent.ACTION_MOVE:
clearTextShadow(v);
isMoved = true;
Log.v(LOG_TAG, "ACTION_MOVE");
break;
case MotionEvent.ACTION_UP:
Log.v(LOG_TAG, "ACTION_UP");
if (!isMoved) {
clearTextShadow(v);
if (v.getId() == R.id.btn_new) {
Log.v(LOG_TAG, "New pressed");
playSound(); //MY METHOD TO PLAY SOUND
} else if (v.getId() == R.id.btn_saved) {
Log.v(LOG_TAG, "Saved pressed");
} else if (v.getId() == R.id.btn_random) {
Log.v(LOG_TAG, "Random pressed");
}
}
isMoved = false;
break;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
而我的playSound()方法:
public void playSound(){
if (mp != null) {
mp.release();
mp = null;
}
try {
mp = MediaPlayer
.create(MyActivity.this, R.raw.sound); //BUT HERE I NEED DEFAULT SOUND!
mp.start();
} catch (Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
Vis*_*tel 66
在onTouch()方法中使用此代码:
view.playSoundEffect(android.view.SoundEffectConstants.CLICK);
Run Code Online (Sandbox Code Playgroud)
如果您只是在寻找预设的Android声音,那么最好使用框架免费提供给您的这项功能.除非有必要进行自定义,否则执行任何其他操作只会导致您违反框架而不是使用它.
| 归档时间: |
|
| 查看次数: |
17950 次 |
| 最近记录: |