私たちは4-5人のY/Oの子供をテストしました。実際にはうまく動作します。時には質問音が再生されていません。そして、それが次の質問を再生しない場合は、オーディオを停止しないで、2つ以上のオーディオを同時に再生すると、ボタンが速くなります。Androidスタジオでオーディオを再生する問題
質問音が出るごとに(raw.kirmizi、raw.yesil)する必要があります。
私は4/5以上の答えに該当する場合、私はあなたが良い(raw.alkis)だサウンドを再生する必要が
(secenek1、secenek2、secenek3)子供が答えをクリックしたときに音を停止する必要があり
3/5以下の答えなら、私は
真(raw.tekrar)難しい音作品をプレイする必要があり、子供が戻ってクリックした場合も(secenek2)はraw.alkisまたはraw.tekrar音が停止する必要があります。
私たちのクラスのコードは次のようである:
package tr.com.blogspot.etkinlikhavuzu.benimilkogretmenim;
import android.app.Activity;
import android.content.Intent;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.Random;
public class AA extends Activity implements View.OnClickListener {
TextView soru, sonuc, dogrusayi, yanlissayi;
ImageView secenek1, secenek2, secenek3;
ArrayList<Soru> sorular;
Random random;
int dogruSayisi, yanlisSayisi, sayac, dogruCevap, kalanSoruSayisi;
SoundPool soundPool, soundPoolDogru, soundPoolYanlis;
int sound, dogruSound, yanlisSound;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.aa);
init();
sorulariYukle();
}
public void init() {
secenek1 = (ImageView) findViewById(R.id.secenek1);
secenek1.setOnClickListener(this);
secenek2 = (ImageView) findViewById(R.id.secenek2);
secenek2.setOnClickListener(this);
secenek3 = (ImageView) findViewById(R.id.secenek3);
secenek3.setOnClickListener(this);
soru = (TextView) findViewById(R.id.soru);
sonuc = (TextView) findViewById(R.id.sonuc);
dogrusayi = (TextView) findViewById(R.id.dogrusayi);
yanlissayi = (TextView) findViewById(R.id.yanlissayi);
sorular = new ArrayList<Soru>();
random = new Random();
kalanSoruSayisi = 5;
soundPool = new SoundPool(2, AudioManager.STREAM_MUSIC, 0);
soundPoolDogru = new SoundPool(2, AudioManager.STREAM_MUSIC, 0);
soundPoolYanlis = new SoundPool(2, AudioManager.STREAM_MUSIC, 0);
dogruSound = soundPoolDogru.load(this, R.raw.alkis, 1);
yanlisSound = soundPoolYanlis.load(this, R.raw.tekrar, 1);
}
public void sorulariYukle() {
sorular.add(new Soru("Hangi Elma Yeşildir?", R.raw.yesil, R.drawable.yesilelma, R.drawable.kirmizielma, R.drawable.kirmizielma, R.drawable.yesilelma));
sorular.add(new Soru("Hangi Elma Kırmızıdır?", R.raw.kirmizi, R.drawable.kirmizielma, R.drawable.yesilelma, R.drawable.yesilelma, R.drawable.kirmizielma));
sorular.add(new Soru("Hangi Elma Yeşildir?", R.raw.yesil, R.drawable.kirmizielma, R.drawable.yesilelma, R.drawable.kirmizielma, R.drawable.yesilelma));
sorular.add(new Soru("Hangi Elma Kırmızıdır?", R.raw.kirmizi, R.drawable.yesilelma, R.drawable.yesilelma, R.drawable.kirmizielma, R.drawable.kirmizielma));
sorular.add(new Soru("Hangi Elma Yeşildir?", R.raw.yesil, R.drawable.kirmizielma, R.drawable.kirmizielma, R.drawable.yesilelma, R.drawable.yesilelma));
sayac = random.nextInt(kalanSoruSayisi);
soru.setText(sorular.get(sayac).getSoru());
secenek1.setImageResource(sorular.get(sayac).getSecenek1());
secenek2.setImageResource(sorular.get(sayac).getSecenek2());
secenek3.setImageResource(sorular.get(sayac).getSecenek3());
dogruCevap = sorular.get(sayac).getDogruCevap();
sound = soundPool.load(this, sorular.get(sayac).getSoruSesi(), 1);
soundPool.play(sound, 1, 1, 0, 0, 1);
}
@Override
public void onClick(View view) {
soundPool.stop(sound);
switch (view.getId()) {
case R.id.secenek1:
soundPool.stop(sound);
if (dogruCevap == sorular.get(sayac).getSecenek1()) {
dogruSayisi++;
dogrusayi.setText(String.valueOf(dogruSayisi));
} else {
yanlisSayisi++;
yanlissayi.setText(String.valueOf(yanlisSayisi));
}
siradakiSoru();
break;
case R.id.secenek2:
soundPool.stop(sound);
if (kalanSoruSayisi == 0) {
soundPoolDogru.stop(dogruSound);
soundPoolYanlis.stop(yanlisSound);
startActivity(new Intent(this, MainActivity.class));
finish();
} else {
if (dogruCevap == sorular.get(sayac).getSecenek2()) {
dogruSayisi++;
dogrusayi.setText(String.valueOf(dogruSayisi));
} else {
yanlisSayisi++;
yanlissayi.setText(String.valueOf(yanlisSayisi));
}
siradakiSoru();
}
break;
case R.id.secenek3:
soundPool.stop(sound);
if (dogruCevap == sorular.get(sayac).getSecenek3()) {
dogruSayisi++;
dogrusayi.setText(String.valueOf(dogruSayisi));
} else {
yanlisSayisi++;
yanlissayi.setText(String.valueOf(yanlisSayisi));
}
siradakiSoru();
break;
}
}
public void siradakiSoru() {
soundPool.stop(sound);
sorular.remove(sayac);
kalanSoruSayisi--;
if (kalanSoruSayisi == 0) {
soru.setText(String.valueOf(dogruSayisi)+" Doğru "+String.valueOf(yanlisSayisi)+" Yanlışın Var!!!");
sonuc.setText("Test Bitti!!!");
if (dogruSayisi >= 4) {
soundPoolDogru.play(dogruSound, 1, 1, 0, 0, 1);
secenek1.setClickable(false);
//secenek2.setClickable(false);
secenek3.setClickable(false);
secenek1.setImageResource(R.drawable.bos);
secenek2.setImageResource(R.drawable.alkis);
secenek3.setImageResource(R.drawable.bos);
}else{
soundPoolYanlis.play(yanlisSound, 1, 1, 0, 0, 1);
secenek1.setClickable(false);
//secenek2.setClickable(false);
secenek3.setClickable(false);
secenek1.setImageResource(R.drawable.bos);
secenek2.setImageResource(R.drawable.geri);
secenek3.setImageResource(R.drawable.bos);
}
} else {
sayac = random.nextInt(kalanSoruSayisi);
soru.setText(sorular.get(sayac).getSoru());
secenek1.setImageResource(sorular.get(sayac).getSecenek1());
secenek2.setImageResource(sorular.get(sayac).getSecenek2());
secenek3.setImageResource(sorular.get(sayac).getSecenek3());
dogruCevap = sorular.get(sayac).getDogruCevap();
sound = soundPool.load(this, sorular.get(sayac).getSoruSesi(), 1);
soundPool.play(sound, 1, 1, 0, 0, 1);
}
}
}
そして、我々のxmlファイルには、このようなものです:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="tr.com.blogspot.etkinlikhavuzu.benimilkogretmenim.MainActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="30dp">
<Button
android:id="@+id/dogru"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:background="@drawable/dogru" />
<Button
android:id="@+id/yanlis"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/dogru"
android:layout_marginTop="10dp"
android:background="@drawable/yanlis" />
<TextView
android:id="@+id/dogrusayi"
android:layout_width="100dp"
android:layout_height="50dp"
android:layout_above="@+id/yanlis"
android:layout_toEndOf="@+id/dogru"
android:layout_toRightOf="@+id/dogru"
android:gravity="center"
android:text="0"
android:textColor="#006600"
android:textSize="30sp" />
<TextView
android:id="@+id/yanlissayi"
android:layout_width="100dp"
android:layout_height="50dp"
android:layout_alignBottom="@+id/yanlis"
android:layout_toEndOf="@+id/yanlis"
android:layout_toRightOf="@+id/yanlis"
android:gravity="center"
android:text="0"
android:textColor="#990000"
android:textSize="30sp" />
<ImageView
android:id="@+id/secenek1"
android:layout_width="170dp"
android:layout_height="170dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<ImageView
android:id="@+id/secenek2"
android:layout_width="170dp"
android:layout_height="170dp"
android:layout_alignBottom="@+id/secenek1"
android:layout_centerHorizontal="true" />
<ImageView
android:id="@+id/secenek3"
android:layout_width="170dp"
android:layout_height="170dp"
android:layout_alignBottom="@+id/secenek2"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true" />
<TextView
android:id="@+id/soru"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/secenek2"
android:layout_marginBottom="18dp"
android:layout_toEndOf="@+id/dogrusayi"
android:layout_toRightOf="@+id/dogrusayi"
android:gravity="center"
android:text=""
android:textColor="#000000"
android:textSize="40sp"
android:textStyle="bold|italic" />
<TextView
android:text=""
android:textColor="#000000"
android:textSize="40sp"
android:textStyle="bold|italic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/sonuc"
android:layout_above="@+id/soru"
android:layout_toRightOf="@+id/yanlissayi"
android:layout_toEndOf="@+id/yanlissayi" />
</RelativeLayout>
</RelativeLayout>
あなたの助けのためにありがとうございました。 ..
残念ながら、まだ再生されないサウンドが残っています。同じ質問で同じ音...時には時々演奏しない... –