OmerAti adlı üyeden alıntı: mesajı görüntüle
aslında pub devin yaptıgı eklenti bu iş için perfect_volume_control: ^1.0.5 kontrollu bir sekilde kullanirsan. Flutter Uygulamasında Donanım Ses Düğmesine basıldığını dinleyebilir ve hangi düğmeye basıldığını, Ses Açma veya Ses kısma olarak belirleyebilirsiniz.
örnek olarak kendi yukarda veridigim linkte Xhambis tarafından örnek bir kodlama gerçekleştirilmiştir

Öncelikle pubspec.yaml dosyasına aşağıdaki satırları ekleyerek perfect_volume_control Flutter paketini projenize ekleyin:

dependencies: flutter: sdk: flutter perfect_volume_control: ^1.0.5
perfect_volume_control paketi, mevcut ses seviyesini almanızı, ses seviyesini ayarlamanızı ve ses değişimini dinlemenizi kolaylaştıracaktır. Yukarı veya aşağı ses düğmesine basmayı algılamak için ses değiştirme dinleyicisini kullanacağız.

Flutter'da Ses Düğmesine Basıldığında Nasıl Dinlenir?

import 'package:perfect_volume_control/perfect_volume_control.dart';
PerfectVolumeControl.stream.listen((volume) { //volume button is pressed, // this listener will be triggeret 3 times at one button press
});
Bu dinleyici, sistem sesi, müzik sesi ve alarm sesi için üç kez tetiklenecektir. Ses veya ses kısma düğmesinden hangi düğmeye basıldığını belirlemek için birkaç ince ayar yaptık. Dikkatli olun, kodumuzda, ses seviyesi UI'sinden manuel olarak artırma, ses düğmesine basmak olarak alınacaktır.

Hangi Ses Yukarı/Aşağı Düğmesine Basıldığı Nasıl Anlaşılır?

Aşağıdaki Flutter Uygulaması örnek kodunun tamamına bakın, ses seviyesi değiştirildiğinde ses düğmesi algılamasını tespit ettik.

import 'package:flutter/material.dart';
import 'package:perfect_volume_control/perfect_volume_control.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
     return MaterialApp(
         home: Home()
      );
  }
}

class Home extends  StatefulWidget {
  @override
  State<Home> createState() => _HomeState();
}

class _HomeState extends State<Home> {

  double currentvol = 0.5;
  String buttontype = "none";

  @override
  void initState() {
    Future.delayed(Duration.zero,() async {
        currentvol = await PerfectVolumeControl.getVolume();
        //get current volume

        setState(() {
            //refresh UI
        });
    });

    PerfectVolumeControl.stream.listen((volume) {  
      /ses düğmesine basılır  
      // bu dinleyici tek tuşa basıldığında 3 kez tetiklenecek
        
       if(volume != currentvol){ //düğme tipi kontrolünü yalnızca bir kez yürütün
           if(volume > currentvol){ //yeni ses daha büyükse, yukarı düğmesi
              buttontype = "up";
           }else{ // aşağı düğme
              buttontype = "down";
           }
       }

       setState(() {
          currentvol = volume;
       });
    });
    super.initState();
  }
  
  @override
  Widget build(BuildContext context) {
    return Scaffold(
         appBar: AppBar(
            title: Text("Ses Düğmesine Bas"),
            backgroundColor: Colors.redAccent,
         ),

         body: Container(
                padding: EdgeInsets.all(20),
                child: Column(
                  children: [
                    
                     Text("Mevcut Hacim : $currentvol"),

                     Divider(),

                     buttontype == "none"?
                          Text("Henüz hiçbir düğmeye basılmadı ."):
                          Text(buttontype == "up"? "Ses Açma Düğmesine Basıldığında ":
                                "Ses Kısma Düğmesine Basıldığında ",
                                    style: TextStyle(fontSize: 20),)
                          
                  ],
                )
            )  
          
    );
  }
}
Sesi Aç düğmesine Basıldığında.


Ses Kısma düğmesine basıldığında.



Bu şekilde, Flutter Uygulamasında Donanım Ses Düğmesine basıldığını dinleyebilir ve hangi düğmeye basıldığını, Ses Açma veya Ses kısma olarak belirleyebilirsiniz.
Bu da denediğim paketlerden biriydi hocam ama dikkat edin bu ses seviyesini dinliyor/takip ediyor, ses tuşlarını değil. Arada büyük bir uçurum var.

Ses tuşlarını da buradan tespit edebiliriz tabi ama aynı şey değil. Bu paketle Ui dan ses değiştirilince de tetiklenir. Ses tuşuna basılı tutunca da tetiklenir. Sesi değiştiren herhangi bir eylem bunu tetikler. Basılı tutumalar ve down/up gibi buton tıklama türleri birbirinden ayrılamaz. Çünkü butonla alakası yok, sesi dinliyor.

Yani daha önce denediğim bir paket ve aradığım şeyle pek alakası yok hocam maalesef.