私はアンドロイド音楽プレーヤーに取り組んでおり、長押しの音量キーを使用してトラックをスキップしたいと考えています。いくつかの実装を見つけましたが、どれも思い通りに機能しませんでした。長押しで曲を飛ばし、短押しで音量を変えたい(正常動作)。すべてのチュートリアル/回答で、長押しはonKeyDown
andで処理onKeyLongPress
されましたが、短押し/通常の押しはログインのみでしたonKeyUp
。
@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
Log.d(TAG, "long pressed");
switch(keyCode){
case KeyEvent.KEYCODE_VOLUME_UP:
songNumber++;
playSong(songs.get(songNumber));
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
songNumber--;
playSong(songs.get(songNumber));
return true;
}
return super.onKeyLongPress(keyCode, event);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch(keyCode){
case KeyEvent.KEYCODE_VOLUME_UP:
event.startTracking();
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
event.startTracking();
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch(keyCode){
case KeyEvent.KEYCODE_VOLUME_UP:
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
return true;
}
return super.onKeyUp(keyCode, event);
}
これは私のコードですが、これでは曲をスキップすることしかできず、短押ししても効果がありません。だから私は1つの音量レベルしか持っていません:(
私は今何をしようとしているのか分かりません。助けていただければ幸いです。ありがとう!
-v1r0x