2013-04-07 6 views
-2

저는 약간의 문제가 있습니다. 여기에 gen이 있습니다. 아이디어, 간단한 응용 프로그램과 같은 응용 프로그램을 만들었습니다 .. 그러나 문제는 내가 클릭 소리를 재생하지 않는 제목 화면에서 버튼을 클릭하려고 할 때 .. 아무도 도와주세요 .. 여기 있습니다 내 사운드 코드가버튼을 클릭 할 때 soundeffects를 추가하는 방법

public class Effects extends Activity implements MediaPlayer.OnCompletionListener { 

     Button mPlay; 
     MediaPlayer mPlayer; 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 

      mPlay = (Button)findViewById(R.id.btnStart); 
      mPlay.setOnClickListener(playListener); 

      setContentView(R.layout.activity_main); 
     } 

     @Override 
     public void onDestroy() { 
      super.onDestroy(); 
      if(mPlayer != null) { 
       mPlayer.release(); 
      } 
     } 

     private View.OnClickListener playListener = new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       if(mPlayer == null) { 
        try { 
         mPlayer = MediaPlayer.create(Effects.this, R.raw.button11); 
         mPlayer.start(); 
        } catch (Exception e) { 
         e.printStackTrace(); 
        } 
       } else { 
        mPlayer.stop(); 
        mPlayer.release(); 
        mPlayer = null; 
       } 
      } 
     }; 
     @Override 
     public void onCompletion(MediaPlayer arg0) { 
      // TODO Auto-generated method stub 

     } 
    }  

여기가 내가 당신의 소리를 재생하려면이 버튼을

public class Main extends Activity implements OnClickListener 
{ 
Button about; 
Button Quit; 
Button start; 
protected void onCreate(Bundle onSavedInstanceState) { 
    super.onCreate(onSavedInstanceState); 
    setContentView(R.layout.activity_main); 
    about = (Button)findViewById(R.id.btnAbout); 
    about.setOnClickListener(this); 
    Quit = (Button)findViewById(R.id.btnQuit); 
    Quit.setOnClickListener(this); 
    start = (Button)findViewById(R.id.btnStart); 
    start.setOnClickListener(this); 

} 
public void onClick(View argo) 
{ 
    if(argo.getId()==R.id.btnAbout) 
    { 
     Intent i = new Intent(this,About.class); 
     this.startActivity(i); 
    } 
    if(argo.getId()==R.id.btnQuit) 
    { 
     Intent intent = new Intent(Intent.ACTION_MAIN); 
     intent.addCategory(Intent.CATEGORY_HOME); 
     intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     startActivity(intent); 
    } 
    if(argo.getId()==R.id.btnStart) 
    { 
     Intent start = new Intent(this,Howto.class); 
     this.startActivity(start); 
     Intent svc=new Intent(this,Effects.class); 
     startService(svc); 
    } 
    } 
} 

답변

0

사용 SoundPool를 클릭하면 사운드가 재생하고자하는 주요 자바에 대한 내 코드입니다 : http://developer.android.com/reference/android/media/SoundPool.html 당신은 init을한다 onCreate()에서 소리가 나서 다시 재생하십시오. onClick()

대신 무수한 if(argo.getId()==R.id.btnQuit) (적어도 else을 사용해야 함) switch/case 구문을 잘 알고 있어야합니다.

관련 문제