2014-03-13 42 views
0

我有下一個代碼,我想提出一個方法(我是新手,不知道該怎麼做)。因爲當我在播放聲音並完成應用程序時,這繼續下去並且無法阻止它,如果我將mp.pause();在完成之前(通過退出按鈕)工作,但如果我從不按下播放,我的應用程序不會播放此後的聲音。我的意思是:if(SoundPlaying)mp.pause();如何在這個應用程序中添加一個方法?

代碼:

import com.google.ads.AdRequest; 
import com.google.ads.AdView; 

import android.app.Activity; 
import android.app.AlertDialog; 
import android.content.ActivityNotFoundException; 
import android.content.DialogInterface; 
import android.content.Intent; 
import android.content.pm.ActivityInfo; 
import android.media.MediaPlayer; 
import android.net.Uri; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.view.animation.Animation; 
import android.view.animation.AnimationUtils; 
import android.widget.Button; 
import android.widget.ImageView; 
import android.widget.Toast; 


public class MainActivity extends Activity { 


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

    final AdView adView = (AdView) findViewById(R.id.adView); 
     adView.loadAd(new AdRequest()); 

    final MediaPlayer mp = MediaPlayer.create(this, R.raw.rain); 

    final ImageView Play = (ImageView) findViewById(R.id.imageView1); 
     Play.setOnClickListener(new OnClickListener(){ 



     @Override 
     public void onClick(View v) { 
      Animation Rotate = AnimationUtils.loadAnimation(MainActivity.this, R.anim.rotate); 
       Play.startAnimation(Rotate); 

      mp.start(); 

     }}); 


     final ImageView Pause = (ImageView) findViewById(R.id.imageView2); 
     Pause.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 

      mp.pause(); 
      Animation Rotate = AnimationUtils.loadAnimation(MainActivity.this, R.anim.rotate); 
       Pause.startAnimation(Rotate); 

      }}); 


     final ImageView Exit = (ImageView) findViewById(R.id.imageView3); 
     Exit.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 



       AlertDialog.Builder alertDialog = new AlertDialog.Builder(
         MainActivity.this); 

       // Setting Dialog Title 
       alertDialog.setTitle("Do you want to exit?"); 

       // Setting Dialog Message 
       alertDialog.setMessage("If you liked the app, please Rate us!"); 

       // Setting Icon to Dialog 
       alertDialog.setIcon(R.drawable.exit2); 

       // Setting Positive Yes Button 
       alertDialog.setPositiveButton("Yes", 
         new DialogInterface.OnClickListener() { 

          public void onClick(DialogInterface dialog, 
            int which) { 
           // User pressed Yes button. Write Logic Here 
           finish(); 
          } 
         }); 
       // Setting Neutral Button 
       alertDialog.setNeutralButton("Rate us!", 
         new DialogInterface.OnClickListener() { 

          public void onClick(DialogInterface dialog, 
            int which) { 
            Uri uri = Uri.parse("market://details?id=" + getPackageName()); 
            Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri); 
            try { 
             startActivity(goToMarket); 
            } catch (ActivityNotFoundException e) { 
            Toast.makeText(getApplicationContext(), "Couldn´t launch Google Play", 
             Toast.LENGTH_LONG).show(); 
            } 

          } 
         }); 
       // Setting Positive "Cancel" Button 
       alertDialog.setNegativeButton("No", 
         new DialogInterface.OnClickListener() { 

          public void onClick(DialogInterface dialog, 
            int which) { 

          } 
         }); 
       // Showing Alert Message 
       alertDialog.show(); 

      } 
     }); 

     //Orientación de la APP Vertical 
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
} 

} 
+1

您想在活動開始時播放聲音,並在退出時播放完成? –

+0

@KanwaljitSingh我想要播放聲音,當我點擊播放(按鈕1代碼)並完成它,如果正在播放,當我按下(退出)在alertdialog。 –

+1

如果用戶點擊是,你想停止它,如果用戶點擊否,你想繼續播放? –

回答

2

我想你的意思是「如何實現if語句」,而不是方法。您需要檢查音樂是否正在播放,如果是,請停止播放。然後一旦停止,您可以完成活動。

alertDialog.setPositiveButton("Yes", 
new DialogInterface.OnClickListener() { 

    public void onClick(DialogInterface dialog, int which) { 
     if (mp.isPlaying()){ 
      mp.stop(); 
     } 
     finish(); 
    } 
}); 
+0

OMG你noob你(?)笑話(: 感謝男人,哈哈,這很容易,我認爲,如果在Android更復雜d: –

1

當你停下的聲音後寫int length = mp.getCurrentPosition();

喜歡 -

int length; 
mp.pause(); 
length = mp.getCurrentPosition(); 

當用戶單擊下面的代碼以繼續從最近的現在的位置是打不出按鈕寫。

mp.seekTo(length); 
mp.start(); 

而對於Yes按鈕@Nood已經回答了。

相關問題