Harici klavye boşluk tuşuyla medya oynatmayı duraklatma ve devam ettirme

Uygulamanız bir medya dosyası oynattığında kullanıcılar fiziksel klavyede Boşluk tuşuna basarak oynatmayı duraklatıp devam ettirebilmelidir.

Tuş basma etkinliklerine yanıt verme

Jetpack Compose veya görünümlere dayalı uygulamalar, klavye tuşlarına basma işlemlerine benzer şekillerde yanıt verir: Uygulama, tuş basma etkinliklerini dinler, etkinlikleri filtreler ve Boşluk tuşu tuş basma gibi tuş basma işlemlerine yanıt verir.

1. Klavye etkinliklerini dinleme

Oluşturma

Jetpack Compose ile, tuş vuruşunu yöneten düzen içinde onPreviewKeyEvent veya onKeyEvent değiştiriciyi kullanın:

Column(modifier = Modifier.onPreviewKeyEvent { event ->
    if (event.type == KeyEventType.KeyUp) {
        ...
    }
    ...
})

veya

Column(modifier = Modifier.onKeyEvent { event ->
    if (event.type == KeyEventType.KeyUp) {
        ...
    }
    ...
})

Görüntüleme sayısı

Uygulamanızdaki bir etkinlikte onKeyUp() yöntemini geçersiz kılın:

Kotlin

override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean {
    ...
}

Java

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    ...
}

Basılan bir tuşa her basıldığında yöntem çağrılır. Bu nedenle, her tuş vuruşu için tam olarak bir kez tetiklenir.

2. Boşluk tuşuna basma işlemlerini filtreleme

Doğru etkinliği medya bileşeninize göndermek için Oluştur onPreviewKeyEvent ve onKeyEvent değiştirici yöntemlerinde veya görünümler onKeyUp() yönteminde KeyEvent.KEYCODE_SPACE için filtreleme yapın:

Oluşturma

Column(modifier = Modifier.onPreviewKeyEvent { event ->
    if (event.type == KeyEventType.KeyUp && event.key == Key.Spacebar) {
        ...
    }
    ...
})

veya

Column(modifier = Modifier.onKeyEvent { event ->
    if (event.type == KeyEventType.KeyUp && event.key == Key.Spacebar) {
        ...
    }
    ...
})

Görüntüleme sayısı

Kotlin

if (keyCode == KeyEvent.KEYCODE_SPACE) {
    togglePlayback()
    return true
}
return false

Java

if (keyCode == KeyEvent.KEYCODE_SPACE) {
    togglePlayback();
    return true;
}
return false;

Önemli noktalar

Oluşturma

  • onPreviewKeyEvent: Bir bileşenin (veya alt öğelerinden birinin) odaklandığında donanım tuş etkinliklerini durdurmasını sağlayan değiştirici.
  • onKeyEvent: onPreviewKeyEvent'a benzer şekilde, bileşen (veya alt öğelerinden biri) odaklandığında bileşenin donanım tuş etkinliklerini durdurmasını sağlayan değiştirici.

Görüntüleme sayısı

  • onKeyUp(): Bir anahtar serbest bırakıldığında ve bir etkinlik içindeki bir görünüm (ör. TextView) tarafından işlenmediğinde çağrılan etkinlik işleyici.

Sonuçlar

Uygulamanız artık bir videoyu veya başka bir medyayı duraklatmak ve devam ettirmek için Boşluk tuşu tuşlarına basmaya yanıt verebilir.