Öncelikle yapacağımız projeden bahsetmek istiyorum. Sayfamız üzerinde 9 adet buton kontrolü ekleyeceğiz, eklediğimiz butonların background özelliğine resim ekleyerek tıklanma olaylarında ses dosyası çalma işlemini gerçekleştireceğiz. Tabiki bu projemize görsellik ve bir konu bağlamamız gerekli, ilgi çekmek lazım :) Şöyle bir süreç takip edeceğiz öncelikle 9 buton arkaplan resimlerini sevdiğiniz hayvan iconlarını seçerek başlayabilirsiniz. Bu seçim için burdan yada bu linkten faydalanabilirsiniz. Arkaplan resimlerimizi de seçtikten sonra herbir icon için .mp3 uzantılı ses dosyalarını bulmaya başlayabiliriz. Amaç hangi hayvan resmine tıklanırsa ona ait sesin kullanıcıya iletilmesi. Sevimli bir uygulama olacağa benziyor, hadi başlayalım :)
Öncelikle yeni bir android projesi oluşturuyoruz. Projemizin bulunduğu workspace dosyasına erişip projemizin res/drawable-hdpi/ dosyası içerisine seçtiğimiz 9 adet iconu ekliyoruz. Eclipse üzerinden projenin res dosyası içerisine New->Folder seçerek raw isminde bir dosya ekliyoruz. Workspace içerisine gelerek projemizin res/raw/ dosyası içerisine 9 adet hayvan seslerini içeren .mp3 uzantılı ses dosyalarını ekliyoruz.
Eclipse tarafına geçerek projemize geçiyoruz. Üst menüden Project->Clean tıklayarak projeye dahil ettiğimiz ses ve resim dosyalarının tanınmasını sağlıyoruz.
-activity_main.xml içeriği;
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/arkaplan" >
   
<Button
        android:id="@+id/btnKoyun"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_x="5dp"
        android:layout_y="35dp"
        android:background="@drawable/koyun" />
   
<Button
        android:id="@+id/btnCakal"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_x="110dp"
        android:layout_y="35dp"
        android:background="@drawable/cakal" />
   
<Button
        android:id="@+id/btnAslan"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_x="215dp"
        android:layout_y="35dp"
        android:background="@drawable/aslan" />
   
<Button
        android:id="@+id/btnEsek"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_x="5dp"
        android:layout_y="155dp"
        android:background="@drawable/esek" />
   
<Button
        android:id="@+id/btnInek"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_x="110dp"
        android:layout_y="155dp"
        android:background="@drawable/inek" />
   
<Button
        android:id="@+id/btnKedi"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_x="215dp"
        android:layout_y="155dp"
        android:background="@drawable/kedi" />
   
<Button
        android:id="@+id/btnKopek"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_x="5dp"
        android:layout_y="270dp"
        android:background="@drawable/kopek" />
   
<Button
        android:id="@+id/btnKurt"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_x="215dp"
        android:layout_y="270dp"
        android:background="@drawable/kurt" />
   
<Button
        android:id="@+id/btnMaymun"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_x="110dp"
        android:layout_y="270dp"
        android:background="@drawable/maymun" />
   
</AbsoluteLayout>
package
com.example.hayvansesleri;
import
android.media.MediaPlayer;
import android.os.Bundle;
import
android.app.Activity;
import android.view.Menu;
import android.view.View;
import
android.widget.Button;
public class MainActivity extends Activity {
       MediaPlayer
sesKoyun,sesCakal,sesAslan,sesEsek,sesInek,sesKedi,sesKopek,sesMaymun,sesKurt;
       Button
bKoyun,bCakal,bAslan,bEsek,bInek,bKedi,bKopek,bMaymun,bKurt;
       @Override
       protected void onCreate(Bundle
savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.activity_main);
             sesAslan=MediaPlayer.create(MainActivity.this,R.raw.waslan);//ses dosyasını
MediaPlayer değişkeniyle ilişkilendiriyoruz.
             sesCakal=MediaPlayer.create(MainActivity.this,R.raw.wcakal);
             sesEsek=MediaPlayer.create(MainActivity.this,R.raw.wesek);
             sesInek=MediaPlayer.create(MainActivity.this,R.raw.winek);
             sesKedi=MediaPlayer.create(MainActivity.this,R.raw.wkedi);
             sesKopek=MediaPlayer.create(MainActivity.this,R.raw.wkopek);
             sesKoyun=MediaPlayer.create(MainActivity.this,R.raw.wkoyun);
             sesKurt=MediaPlayer.create(MainActivity.this,R.raw.wkurt);
             sesMaymun=MediaPlayer.create(MainActivity.this,R.raw.wmaymun);
             bAslan=(Button)findViewById(R.id.btnAslan);
             bCakal=(Button)findViewById(R.id.btnCakal);
             bEsek=(Button)findViewById(R.id.btnEsek);
             bInek=(Button)findViewById(R.id.btnInek);
             bKedi=(Button)findViewById(R.id.btnKedi);
             bKopek=(Button)findViewById(R.id.btnKopek);
             bKoyun=(Button)findViewById(R.id.btnKoyun);
             bKurt=(Button)findViewById(R.id.btnKurt);
             bMaymun=(Button)findViewById(R.id.btnMaymun);
             bAslan.setOnClickListener(new
View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                           // TODO Auto-generated
method stub
                           sesAslan.start();//Ses dosyasını
başlatıyoruz.
                    }
             });
             bCakal.setOnClickListener(new
View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                           // TODO Auto-generated
method stub
                           sesCakal.start();
                    }
             });
             bEsek.setOnClickListener(new
View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                           // TODO Auto-generated
method stub
                           sesEsek.start();
                    }
             });
             bInek.setOnClickListener(new
View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                           // TODO Auto-generated
method stub
                           sesInek.start();
                    }
             });
             bKedi.setOnClickListener(new
View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                           // TODO Auto-generated
method stub
                           sesKedi.start();
                    }
             });
             bKopek.setOnClickListener(new
View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                           // TODO Auto-generated
method stub
                           sesKopek.start();
                    }
             });
             bKoyun.setOnClickListener(new
View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                           // TODO Auto-generated
method stub
                           sesKoyun.start();
                    }
             });
             bKurt.setOnClickListener(new
View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                           // TODO Auto-generated
method stub
                           sesKurt.start();
                    }
             });
             bMaymun.setOnClickListener(new
View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                           // TODO Auto-generated
method stub
                           sesMaymun.start();
                    }
             });
       }
       @Override
       public boolean
onCreateOptionsMenu(Menu menu) {
             // Inflate
the menu; this adds items to the action bar if it is present.
             getMenuInflater().inflate(R.menu.main, menu);
             return true;
       }
}
Projemizi tamamladığımıza göre deneyebiliriz :)
Umarım faydalı bir paylaşım olmuştur. Sonraki paylaşımlarımda görüşmek ümidiyle... :)

 
Biri bitmeden diğerlerine tıkladığımızda bütün sesler birbirine giriyor...bunun çözümü nedir
YanıtlaSilSelamlar, MediaPlayer nesneleriyle ilgili olarak aşağıdaki gibi kontrollü içeren bir metod yazılarak tüm nesneler için kontrol gerçekleştirilmeli ve tüm start() metodları öncesinde call edilerek bu duruma çözüm üretilebilir;
Silif(mPlayer!=null && mPlayer.isPlaying()){
mPlayer.stop();
}