gpt4 book ai didi

java - Android MediaPlayer 敲定未发布

转载 作者:搜寻专家 更新时间:2023-11-01 08:51:26 30 4
gpt4 key购买 nike

<分区>

我正在创建一个测验应用程序。在 10 到 12 个问题之后,Medvoice 不会在正确或错误的问题后出现。我收到此错误 MediaPlayer (-19, 0) 和 From settings cache, name=sound_effects enabled, value=0.请指导我克服这个错误。谢谢


我正在使用这段代码。声音可播放 8 到 10 次,然后声音消失。如果我们等待几秒钟并在一段时间后再次单击按钮,声音就会开始播放。一段时间后它也会崩溃。

package com.kids_fun;

import java.util.Arrays;
import java.util.Collections;
import java.util.Random;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Handler;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.view.Menu;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TextView;
import android.widget.Toast;

public class HardAddition extends Activity {

RadioGroup options;
RadioButton answer1,answer2, answer3;

TextView Num1,Num2,Counter, Answer,check_answer1;

int Result, z, Score=00;

final Random rand= new Random();

CountDownTimer timer1;

Button Submit,Next;

ImageView Image;

MediaPlayer mp;

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

// Getting RadioButtons, TextViews


options=(RadioGroup)findViewById(R.id.Hard_Add_RdGrp);
answer1=(RadioButton)findViewById(R.id.Hard_Add_answer1);
answer2=(RadioButton)findViewById(R.id.Hard_Add_Answer2);
answer3=(RadioButton)findViewById(R.id.Hard_Add_Answer3);

Num1=(TextView)findViewById(R.id.Hard_Add_Num1_ID);
Num2=(TextView)findViewById(R.id.Hard_Add_Num2_ID);
Counter=(TextView)findViewById(R.id.Hard_Additon_Counter);
Answer=(TextView)findViewById(R.id.Hard_Additon_Answer);
check_answer1=(TextView)findViewById(R.id.Hard_Addition_checked_answer);

Image=(ImageView)findViewById(R.id.Hard_Addition_ImageView);


//Setting Timer

timer1 = new CountDownTimer(15000, 1000) {
public void onTick(long millisUntilFinished) {
Counter.setText(""
+ formatTime(millisUntilFinished));


}

private String formatTime(long millis) {
// TODO Auto-generated method stub

String output = "00";
long seconds = millis / 1000;
//long minutes = seconds / 60;

seconds = seconds % 60;
//minutes = minutes % 60;

String secondsD = String.valueOf(seconds);
//String minutesD = String.valueOf(minutes);

if (seconds < 10)
{ secondsD = "0" + seconds;

}
//if (minutes < 10)
// minutesD = "0" + minutes;

output =secondsD;
return output;

}

public void onFinish() {
Counter.setText("");
//Counter_Dialog();
CustomDialogClass cdd=new CustomDialogClass(HardAddition.this);
cdd.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
cdd.show();
}
};

//Calling Method to generate Numbers Randomly

getRandom();

// Starting Timer

timer1.start();



options.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override
public void onCheckedChanged(RadioGroup arg0, int arg1) {
// TODO Auto-generated method stub

check_answer();
}
});

// Submit Button to check the answer


Submit=(Button)findViewById(R.id.Hrd_AddOK_Btn_ID);;

Submit.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub


MediaPlayer mp=MediaPlayer.create(HardAddition.this, R.raw.tick);
mp.start();
timer1.cancel();
Submit.setVisibility(View.INVISIBLE);

//Calling Method which will check the answer defined below

isCorrect();

}
});


}


//Method to Generate Numbers Randomly


public void getRandom()
{
int FirstNum= rand.nextInt((1000-500)+1)+500;

Num1.setText(String.valueOf(FirstNum));

int SecondNum= rand.nextInt((5000-1000)+1)+1000;

Num2.setText(String.valueOf(SecondNum));

int x= Integer.parseInt(Num1.getText().toString());
int y= Integer.parseInt(Num2.getText().toString());

Result=x+y;

answer2.setText(String.valueOf(Result));





int option_value1;

do{

option_value1 =rand.nextInt((2000-500)+1)+500;

}
while(option_value1==Result);

answer1.setText(String.valueOf(option_value1));

int option_value2;

do{

option_value2 =rand.nextInt((3000-1500)+1)+1500;

}
while(option_value2==Result);

answer3.setText(String.valueOf(option_value2));



int a=Integer.parseInt(answer1.getText().toString());
int b=Integer.parseInt(answer2.getText().toString());
int c=Integer.parseInt(answer3.getText().toString());


Integer[] options = {a, b , c };
Collections.shuffle(Arrays.asList(options));

// assign the value choice

a = options[0];
b = options[1];
c = options[2];



answer1.setText(String.valueOf(a));
answer2.setText(String.valueOf(b));
answer3.setText(String.valueOf(c));


}

// Method to check the answer

public void isCorrect()
{


if(answer1.isChecked()==false && answer2.isChecked()==false && answer3.isChecked()==false)
{

Toast.makeText(getApplicationContext(), "Please Select One Option", Toast.LENGTH_SHORT).show();
Submit.setVisibility(View.VISIBLE);
}

else if(answer1.isChecked())
{
Image.setVisibility(View.VISIBLE);
z=Integer.parseInt(answer1.getText().toString());
if(z==Result)
{
//Displaying Image

Image.setBackgroundResource(R.drawable.a);

//Playing Sound

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

//Increamenting Score

increamentscore();

//Generating New Question

final Handler handler=new Handler();

handler.postDelayed(new Runnable() {

@Override
public void run() {
// TODO Auto-generated method stub

Questions();
answer1.setChecked(false);
answer2.setChecked(false);
answer3.setChecked(false);
mp.stop();
mp.release();

}
}, 3500);

}
else{

//Displaying Image

Image.setBackgroundResource(R.drawable.r);

//Playing Sound

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

final Handler handler=new Handler();

handler.postDelayed(new Runnable() {

@Override
public void run() {
// TODO Auto-generated method stub

Questions();
answer1.setChecked(false);
answer2.setChecked(false);
answer3.setChecked(false);
mp.stop();
mp.release();

}
}, 3500);


}

}

else if(answer2.isChecked())
{ Image.setVisibility(View.VISIBLE);
z=Integer.parseInt(answer2.getText().toString());
if(z==Result)
{

//Displaying Image

Image.setBackgroundResource(R.drawable.b);

//Playing Sound

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

Increamenting Score

increamentscore();

final Handler handler=new Handler();

handler.postDelayed(new Runnable() {

@Override
public void run() {
// TODO Auto-generated method stub

Questions();
answer1.setChecked(false);
answer2.setChecked(false);
answer3.setChecked(false);
mp.stop();
mp.release();

}
}, 3500);

}
else{
//Displaying Image

Image.setBackgroundResource(R.drawable.r);

//Playing Sound

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

final Handler handler=new Handler();

handler.postDelayed(new Runnable() {

@Override
public void run() {
// TODO Auto-generated method stub

Questions();
answer1.setChecked(false);
answer2.setChecked(false);
answer3.setChecked(false);
mp.stop();
mp.release();

}
}, 3500);

}
}

else if(answer3.isChecked())
{
Image.setVisibility(View.VISIBLE);
z=Integer.parseInt(answer3.getText().toString());
if(z==Result)
{

//Displaying Image

Image.setBackgroundResource(R.drawable.a);

// Playing Sound

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

increamentscore();

final Handler handler=new Handler();

handler.postDelayed(new Runnable() {

@Override
public void run() {
// TODO Auto-generated method stub

Questions();
answer1.setChecked(false);
answer2.setChecked(false);
answer3.setChecked(false);
mp.stop();
mp.release();

}
}, 3500);


}
else{

//Displaying Image

Image.setBackgroundResource(R.drawable.r);

//Playing Sound

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

final Handler handler=new Handler();

handler.postDelayed(new Runnable() {

@Override
public void run() {
// TODO Auto-generated method stub

Questions();
answer1.setChecked(false);
answer2.setChecked(false);
answer3.setChecked(false);
mp.stop();
mp.release();

}
}, 3500);

}

}
}

public void Counter_Dialog() {

final AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("Time is Up !!!")
.setMessage(
"Your Time is Up, Press Next to Move to the Next Question")
// .setIcon(android.R.drawable.ic_dialog_alert)
.setPositiveButton("Next",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {

mp=MediaPlayer.create(getApplicationContext(), R.raw.tick);
mp.start();
Questions();
//timer1.start();
answer1.setChecked(false);
answer2.setChecked(false);
answer3.setChecked(false);

}
})
// .setNegativeButton("No", null)
.show();

}


// Increamenting Score

public int increamentscore() {

if(Score<99)
{
Score = Score + 1;
Answer.setText(String.valueOf(Score));

}

else{

Score=0;
}


return Score;
}




// Generating New Question

public void Questions() {

Image.setVisibility(View.GONE);
getRandom();
timer1.start();
options.clearCheck();
check_answer1.setText(String.valueOf(""));
Submit.setVisibility(View.VISIBLE);

}


// Checking the value of Checked Answer by the User

public void check_answer()
{ int y;

switch(options.getCheckedRadioButtonId())
{

case R.id.Hard_Add_answer1:
y=Integer.parseInt(answer1.getText().toString());
check_answer1.setText(String.valueOf(y));
break;

case R.id.Hard_Add_Answer2:
y=Integer.parseInt(answer2.getText().toString());
check_answer1.setText(String.valueOf(y));
break;

case R.id.Hard_Add_Answer3:
y=Integer.parseInt(answer3.getText().toString());
check_answer1.setText(String.valueOf(y));
break;

}

}


// Dialog which will display on When Time is UP

public class CustomDialogClass extends Dialog implementsandroid.view.View.OnClickListener
{

public Activity c;
public Dialog d;


public CustomDialogClass(Activity a) {
super(a);
// TODO Auto-generated constructor stub
this.c = a;
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.dialog_box );
Next = (Button) findViewById(R.id.dialog_Next);
Next.setOnClickListener(this);

}

@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.dialog_Next:
mp=MediaPlayer.create(getApplicationContext(), R.raw.tick);
mp.start();
Questions();
break;
default:
break;
}
dismiss();
}
}




@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.hard__addition, menu);
return true;
}

}

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com