0

こんにちは、オージー ブロークという私のキャラクターの響板を作成しました。響板には 30 個のボタンと 30 個のメディア プレーヤーが含まれています。最初はすべてのボタンに 1 つのメディアプレーヤーを使用していましたが、約 20 回ランダムに押すと、最終的にサウンドの再生が停止しました。そこで、私が使用した元のサウンドボード テンプレートで使用されていたように、サウンドごとに個別の mediaplayer オブジェクトを使用することにしました。これは問題なく機能し、一日中ボタンを押してサウンドを適切に動作させることができました..しかし、私が抱えている問題は、アクティビティがバックグラウンドに送信され、数秒後に再び戻されると、ボタンを押すとアプリがクラッシュすることです..すべてのプレーヤーを準備するために onResume メソッドを作成しようとしましたが、これによりアプリが最初からクラッシュしました..

package com.zammacat.aussiebloke1;

import java.io.IOException;

import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class AUSSIEBLOKE1 extends Activity {

private static final String BASE64_PUBLIC_KEY = "key here";

    MediaPlayer beer1;
    MediaPlayer beer2; 
    MediaPlayer beer3; 
    MediaPlayer beauty; 
    MediaPlayer boner; 
    MediaPlayer death; 
    MediaPlayer dingo; 
    MediaPlayer dogupya; 
    MediaPlayer donotpress; 
    MediaPlayer enough; 
    MediaPlayer heaven; 
    MediaPlayer help; 
    MediaPlayer hungry; 
    MediaPlayer kebab; 
    MediaPlayer kids; 
    MediaPlayer knees; 
    MediaPlayer later; 
    MediaPlayer meatpie; 
    MediaPlayer medal; 
    MediaPlayer oath; 
    MediaPlayer poem; 
    MediaPlayer politics; 
    MediaPlayer pub; 
    MediaPlayer sex; 
    MediaPlayer sport; 
    MediaPlayer strewth; 
    MediaPlayer tango; 
    MediaPlayer v8; 
    MediaPlayer what; 
    MediaPlayer yoursister; 

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




     beer1 = MediaPlayer.create(this, R.raw.beer1);
     beer2 = MediaPlayer.create(this, R.raw.beer2);
     beer3 = MediaPlayer.create(this, R.raw.beer3);
     beauty = MediaPlayer.create(this, R.raw.beauty);
     boner = MediaPlayer.create(this, R.raw.boner);
     death = MediaPlayer.create(this, R.raw.death);
     dingo = MediaPlayer.create(this, R.raw.dingo);
     dogupya = MediaPlayer.create(this, R.raw.dogupya);
     donotpress = MediaPlayer.create(this, R.raw.donotpress);
     enough = MediaPlayer.create(this, R.raw.enough);
     heaven = MediaPlayer.create(this, R.raw.heaven);
     help = MediaPlayer.create(this, R.raw.help);
     hungry = MediaPlayer.create(this, R.raw.hungry);
     kebab = MediaPlayer.create(this, R.raw.kebab);
     kids = MediaPlayer.create(this, R.raw.kids);
     knees = MediaPlayer.create(this, R.raw.knees);
     later = MediaPlayer.create(this, R.raw.later);
     meatpie = MediaPlayer.create(this, R.raw.meatpie);
     medal = MediaPlayer.create(this, R.raw.medal);
     oath = MediaPlayer.create(this, R.raw.oath);
     poem = MediaPlayer.create(this, R.raw.poem);
     politics = MediaPlayer.create(this, R.raw.politics);
     pub = MediaPlayer.create(this, R.raw.pub);
     sex = MediaPlayer.create(this, R.raw.sex);
     sport = MediaPlayer.create(this, R.raw.sport);
     strewth = MediaPlayer.create(this, R.raw.strewth);
     tango = MediaPlayer.create(this, R.raw.tango);
     v8 = MediaPlayer.create(this, R.raw.v8);
     what = MediaPlayer.create(this, R.raw.what);
     yoursister = MediaPlayer.create(this, R.raw.yoursister); 



   Button b01 = (Button) findViewById(R.id.beer1);
   b01.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                beer1.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            beer1.start();              
            }
    });

   Button b02 = (Button) findViewById(R.id.beer2);
   b02.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                beer2.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            beer2.start();              
            }
    });

   Button b03 = (Button) findViewById(R.id.beer3);
   b03.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                beer3.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            beer3.start();              
            }
    });

   Button b04 = (Button) findViewById(R.id.beauty);
   b04.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                beauty.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            beauty.start();             
            }
    });

   Button b05 = (Button) findViewById(R.id.boner);
   b05.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                boner.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            boner.start();              
            }
    });

   Button b06 = (Button) findViewById(R.id.death);
   b06.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                death.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            death.start();              
            }
    });

   Button b07 = (Button) findViewById(R.id.dingo);
   b07.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                dingo.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            dingo.start();              
            }
    });

   Button b08 = (Button) findViewById(R.id.dogupya);
   b08.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                dogupya.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            dogupya.start();                
            }
    });

   Button b09 = (Button) findViewById(R.id.donotpress);
   b09.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                donotpress.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            donotpress.start();             
            }
    });

   Button b10 = (Button) findViewById(R.id.enough);
   b10.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                enough.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            enough.start();             
            }
    });

   Button b11 = (Button) findViewById(R.id.heaven);
   b11.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                heaven.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            heaven.start();             
            }
    });

   Button b12 = (Button) findViewById(R.id.help);
   b12.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                help.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            help.start();               
            }
    });

   Button b13 = (Button) findViewById(R.id.hungry);
   b13.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                hungry.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            hungry.start();             
            }
    });

   Button b14 = (Button) findViewById(R.id.kebab);
   b14.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                kebab.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            kebab.start();              
            }
    });

   Button b15 = (Button) findViewById(R.id.kids);
   b15.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                kids.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            kids.start();               
            }
    });

   Button b16 = (Button) findViewById(R.id.knees);
   b16.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                knees.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            knees.start();              
            }
    });

   Button b17 = (Button) findViewById(R.id.later);
   b17.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                later.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            later.start();              
            }
    });

   Button b18 = (Button) findViewById(R.id.meatpie);
   b18.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                meatpie.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            meatpie.start();                
            }
    });

   Button b19 = (Button) findViewById(R.id.medal);
   b19.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                medal.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            medal.start();              
            }
    });

   Button b20 = (Button) findViewById(R.id.oath);
   b20.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                oath.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            oath.start();               
            }
    });

   Button b21 = (Button) findViewById(R.id.poem);
   b21.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                poem.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            poem.start();               
            }
    });

   Button b22 = (Button) findViewById(R.id.politics);
   b22.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                politics.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            politics.start();               
            }
    });

   Button b23 = (Button) findViewById(R.id.pub);
   b23.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                pub.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            pub.start();                
            }
    });

   Button b24 = (Button) findViewById(R.id.sex);
   b24.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                sex.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            sex.start();                
            }
    });

   Button b25 = (Button) findViewById(R.id.sport);
   b25.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                sport.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            sport.start();              
            }
    });

   Button b26 = (Button) findViewById(R.id.strewth);
   b26.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                strewth.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            strewth.start();                
            }
    });

   Button b27 = (Button) findViewById(R.id.tango);
   b27.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                tango.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            tango.start();              
            }
    });

   Button b28 = (Button) findViewById(R.id.v8);
   b28.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                v8.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            v8.start();             
            }
    });

   Button b29 = (Button) findViewById(R.id.what);
   b29.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                what.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            what.start();               
            }
    });

   Button b30 = (Button) findViewById(R.id.yoursister);
   b30.setOnClickListener(new OnClickListener(){
       public void onClick(View v){
           try {
                yoursister.prepare();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            yoursister.start();             
            }
    });



}


protected void onStop() {

     super.onStop();
     beer1.release();
     beer2.release(); 
     beer3.release(); 
     beauty.release(); 
     boner.release(); 
     death.release(); 
     dingo.release(); 
     dogupya.release(); 
     donotpress.release(); 
     enough.release(); 
     heaven.release(); 
     help.release(); 
     hungry.release(); 
     kebab.release(); 
     kids.release(); 
     knees.release(); 
     later.release(); 
     meatpie.release(); 
     medal.release(); 
     oath.release(); 
     poem.release(); 
     politics.release(); 
     pub.release(); 
     sex.release(); 
     sport.release(); 
     strewth.release(); 
     tango.release(); 
     v8.release(); 
     what.release(); 
     yoursister.release(); 




}

}

4

1 に答える 1

0

アクティビティにメソッドを実装onResume()し、そこでメディアプレーヤーオブジェクトを再作成する必要があります。

public void onResume()  {
  super.onResume();

 // ...

 beer1 = MediaPlayer.create(this, R.raw.beer1);
 beer2 = MediaPlayer.create(this, R.raw.beer2);
 beer3 = MediaPlayer.create(this, R.raw.beer3);

 // ...
}   

アクティビティのライフサイクルについて詳しくは、http: //developer.android.com/training/basics/activity-lifecycle/index.htmlをご覧ください。

于 2013-02-10T08:32:06.120 に答える