5.00 / 1 oy

Android uygulamasında ses dosyası çalmak

Android uygulamamızda ses dosyaları çalarak uygulamalarımıza farklı dokunuşlar yapabiliriz ya da belki bir müzik aletinin simülasyonunu Android uygulaması olarak hazırlayabiliriz. Bu uygulamada birden çok ses dosyasını eşzamanlı olarak çalmaya izin veren SoundPool sınıfı ile basit bir uygulama yapacağız ancak bu uygulamadaki ses dosyalarının sayılarını artırarak kendi ihtiyacınıza uygun sesli uygulamalar hazırlayabilirsiniz.

Tasarım olarak sadece basıldığında ses dosyasını çalan bir adet buton ekledim. Kendi tasarımınızı activity_main.xml dosyasını değiştirerek kendiniz yapabilirsiniz:

android ses dosyası çalmak

Çalmak istediğimiz ses dosyasını da res klasörü altında raw adında bir klasör açarak bu klasörün içerisine ekliyoruz.

android raw folder

Şimdi sıra geldi uygulamayı kodlamaya.

MainActivity.java

public class MainActivity extends Activity {

    private final int SES_SAYISI = 7;
    private final float SOL = 1.0f;
    private final float SAG = 1.0f;
    private final int TEKRAR = 0;
    private final int PRIORITY = 0;
    private final float OYNATMA_ORANI = 1.0f;

    private SoundPool msoSoundPool;
    private int mSesDosyasiId;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btn = (Button) findViewById(R.id.buttonTetikle);

        msoSoundPool = new SoundPool(SES_SAYISI, AudioManager.STREAM_MUSIC,0);
        mSesDosyasiId = msoSoundPool.load(getApplicationContext(),R.raw.ses,1);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                msoSoundPool.play(mSesDosyasiId,SOL,SAG,PRIORITY,TEKRAR,OYNATMA_ORANI);
            }
        });
    }

}

Bu kodlar ile tek bir ses dosyasını arka arkaya çalabilirsiniz ancak SoundPool nesnesi içerisine daha fazla ses dosyası ekleyerek çalacak ses dosyalarının sayısını, ses yüksekliğini, sol ya da sağ kulaklıktan gelmesini ve öncelik sırasını belirleyebilirsiniz.

utku33

22.04.2020 04:20

Bu soru 2 kez yanıtlandı.

  • 27 Şubat 2021 10:35
    22

    Uzun zaman aradan sonra bu uygulamaya daha basit bir kod alternatifi eklemek istiyorum.

    1. raw klasörüne ses dosyasını koyun (örneğin ses.wav dosyası)

    2. Aşağıdaki kodları kullanın

    MediaPlayer mp = MediaPlayer.create(this,R.raw.ses);
    mp.start();

     

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Android uygulamasında ses dosyası çalmak

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.