Android Sesi Tekrar Çalma

Bu konuyu okuyanlar

10line

Öğrenci
Katılım
16 Temmuz 2012
Mesajlar
6
Reaksiyon puanı
0
Puanları
0
Merhabalar,

Android cihazlar için bir genel kültür yarışması uygulaması geliştiriyorum. Son aşamaya geldim ama şöyle bir sorunum var ;

Mesela her soru için 30 saniye var o 30 saniye dolana kadar bir şıkka tıklanmadığı sürece tik-tak sesi çalıyor.

Mesela A şıkkına tıkladığında emin misiniz diyen bir alertbox çıkıyor ve ordada kısa bir müzik çalıyor. İşte sorun buradan sonra başlıyor.

Kullanıcı Emin misiniz sorusuna Evet veya Hayır seçeneklerinden birine tıkladığında tekrar soru alanına dönüyor ama bu sefer ne tik tak sesi ne şıkka tıkladığında ki emin misiniz sesi ne doğru cevap sesi ne yanlış cevap sesi ikinci defa çalmıyor.

Lütfen yardım edin 2 gündür bununla uğraşıyorum. Örnek olması açısından A butonun kodlarını yazıyorum ;

Kod:
a.setOnClickListener(new View.OnClickListener() {            
public void onClick(View v) {
a.setBackgroundResource(R.drawable.cevap);
emin.start();
AlertDialog.Builder alertbox = new AlertDialog.Builder(acilis.this);
alertbox.setTitle("Emin misiniz ?");
alertbox.setPositiveButton("Evet", new DialogInterface.OnClickListener() {
                        
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
String tahmin = a.getText().toString();
                                                        
if(tahmin.equals(cevap)) {
a.setBackgroundResource(R.drawable.dogrucevap);
emin.stop();
dogru.start();
p1 = p1+10;
puan.setText(Integer.toString(p1));
counter.cancel();
sonraki.setVisibility(1);
}else {
                                
a.setBackgroundResource(R.drawable.yanliscevap);
emin.stop();
yanlis.start();
counter.cancel();
h1 = h1-1;
hak.setText(Integer.toString(h1));
if(h1 == 0) {
Bundle bundle = new Bundle();
Intent intent = new Intent("com.android.bilgiyarismasi.BITIS");
bundle.putString("veri", Integer.toString(p1));
intent.putExtras(bundle);
finish();
startActivity(intent);
}else {
sonraki.setVisibility(1);
}
}
}
});
alertbox.setNegativeButton("Hayır", new DialogInterface.OnClickListener() {
                        
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
a.setBackgroundResource(R.drawable.butonarka);
ses.start();
emin.stop();
}
});
alertbox.show();
}
});

Diğer şıklar içinde kodlar aynı. Yardımlarınızı bekliyorum.
 

kizanlik

Asistan
Katılım
25 Mart 2012
Mesajlar
250
Reaksiyon puanı
0
Puanları
0
(Kod yazarken düzenli olmakta fayda var.)

Sanırım problem şurada:

Kod:
if(h1 == 0)
{
    Bundle bundle = new Bundle();
    Intent intent = new Intent("com.android.bilgiyarismasi.BITIS");
    bundle.putString("veri", Integer.toString(p1));
    intent.putExtras(bundle);
    finish();
    startActivity(intent);
}
else
{
    sonraki.setVisibility(1);
}

finish();
startActivity(intent);


yazmışsın. finish() ile içinde bulunduğun activity sonlandırıyorsun.
Sonlandırmadan sonra da startActivity(intent) ile yeni activity başlatmak istiyorsun.

Doğrusu:

startActivity(intent);
finish();


olmalı gibi geliyor bana.
 
S

SDN Okuru

SDN Okuru
ama orası zaten 3 hak bittiğinde işleyen bir if blogu. orda 3 hak bittiyse bu işlemleri yap diyor. benim sorunum ilk sorudan sonra doğru da cevaplasa yanlış da cevaplasa emin misiniz sorusuna hayır da dese sesler gidiyor.
 

10line

Öğrenci
Katılım
16 Temmuz 2012
Mesajlar
6
Reaksiyon puanı
0
Puanları
0
zaten orası 3 hak bittiğinde çalışan bir if blogu. Orada eğer 3 hak bittiyse bu işlemleri yap diyor. Benim sorunum ilk soruda bir şıkka tıklandığı anda evet de dese hayır da dese doğruda olsa yanlışta olsa sesler bir defa çalıyor ama ondan sonra mesela şıkka tıkladı emin misiniz sorusuna hayır dedi başka bir şıkka tıkladığı zaman aynı sesler çalmıyor.
 

kizanlik

Asistan
Katılım
25 Mart 2012
Mesajlar
250
Reaksiyon puanı
0
Puanları
0
Mobilim. Kodu tam olarak goremiyorum ama celiskili bir durum var:

Soruda: ...ama bu sefer ne tik tak sesi ne
şıkka tıkladığında ki emin misiniz sesi ne doğru
cevap sesi ne yanlış cevap sesi ikinci defa
çalmıyor.

demissin ama yukaridakinde: ... ayni sesler calmiyor.

demissin. Eger ayni sesler (dogru olanlar) calmiyorsa ama bir ses geliyorsa;

her ses icin bir player olusturup calmak istedigine "play", durdurmak istedigine de "stop" komutu vererek deneyebilir misin?

Istedigin sonucu alirsan, tek player kullanmak istersen, playerini activitylerin erisebilecegi ortak bir yere koyman gerekir.

Ayrica cok net hatirlamiyorum ama Android'in media araciyla ilgili bir bug vardi. Mesela X'i caldiriyorsun. Ortada durdurdun. Y'yi calmak istedin. Calmiyor. Calma suresini sifirlamak gerekiyordu. Bunun gibi bir sey.

Bunu Android forumlarindan birinde gormustum. Bu konu uzerinde de bir arastirma yaparsan faydasi olabilir.
 

10line

Öğrenci
Katılım
16 Temmuz 2012
Mesajlar
6
Reaksiyon puanı
0
Puanları
0
aynı sesler dediğim zaten başta soruda dediğim sesler onu kastetmiştim çelişkili bir durum yok yani. Ama dediğin o bug meselesini bir araştıracağım. Teşekkür ederim yardımların için.
 
Üst