2013-08-22 51 views
0

我有这3个类即MainActivity,Options和Play。当用户点击选项按钮时,用户可以决定他/她是否想要播放音频。但默认情况下,虽然用户不会点击选项上的按钮,但音频将播放。停止和播放活动之间的MediaPlayer

我在StackOverflow中发现了一些代码,但是我不知道如何在用户决定播放它后决定停止音频时如何停止音频。 (要的选项重新)

这里是到目前为止的代码:

MainActivity.class(选项)

public class MainActivity extends Activity { 

    public MediaPlayer mp = null; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Button b = (Button) findViewById(R.id.button1); 
     b.setOnClickListener(new OnClickListener() { 

       @Override 
      public void onClick(View v) { 
       Intent a = new Intent(MainActivity.this, Play.class); 
       startActivity(a); 



      } 

     }); 
    } 
} 

Play.java

public class Play extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.play); 

     Button back = (Button) findViewById (R.id.button1); 

     back.setOnClickListener(new OnClickListener(){ 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Intent menu = new Intent (getApplicationContext(), Menu.class); 
       startActivity(menu); 
      } 

     }); 


    MainActivity z = new MainActivity(); 
    MediaPlayer mp = z.mp; 

    if (mp == null) { 
     mp = MediaPlayer.create(Play.this, R.raw.math_game); 
     mp.start(); 
    } 

    else if (mp.isPlaying()) { 
     mp.stop(); 
     mp = null; 
    } 
    } 

} 

主菜单

public class Menu extends Activity{ 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.menu); 

     Button play, opt; 
     play = (Button) findViewById (R.id.play); 
     opt = (Button) findViewById (R.id.opt); 

     play.setOnClickListener(new OnClickListener(){ 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Intent play = new Intent (Menu.this, Play.class); 
       startActivity(play); 
      } 


     }); 

     opt.setOnClickListener(new OnClickListener(){ 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Intent play = new Intent (Menu.this, MainActivity.class); 
       startActivity(play); 
      } 


     });  
    } 

} 

三江源:))

回答

相关问题