2017-09-02 70 views
0

嗨,我想創建一個微調對話框包含3首歌曲,當用戶選擇一首歌曲當前歌曲將停止,新的歌曲開始,如何停止當前的音樂和播放新的

enter image description here

我的代碼:

  MPLUS = MediaPlayer.create(getApplicationContext(), R.raw.vaporv2); 
     SAINTONE = MediaPlayer.create(getApplicationContext(), R.raw.saint_pepsi); 
     SAINTTWO = MediaPlayer.create(getApplicationContext(), R.raw.saint_pepsi2); 
    final AlertDialog.Builder mBuilder = new AlertDialog.Builder(MainActivity.this, R.style.MyDialogTheme); 
     View mView = getLayoutInflater().inflate(R.layout.dialog_spinner,null); 
     mBuilder.setTitle("Music.mp3"); 
     mBuilder.setIcon(R.drawable.play); 
     final Spinner mSpinner = (Spinner)mView.findViewById(R.id.spinner); 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_spinner_item,getResources().getStringArray(R.array.Music)); 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     mSpinner.setAdapter(adapter); 
     mBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       if(!mSpinner.getSelectedItem().toString().equals("Choose Your Music . . .")){ 
        if(mSpinner.getSelectedItem().toString().equals("MACINTOSH PLUS - リサフランク420")){ 
         Toast.makeText(MainActivity.this,""+mSpinner.getSelectedItem().toString(),Toast.LENGTH_LONG).show(); 
        }else if(mSpinner.getSelectedItem().toString().equals("SAINT PEPSI - ENJOY YOURSELF")){ 
         Toast.makeText(MainActivity.this,""+mSpinner.getSelectedItem().toString(),Toast.LENGTH_LONG).show(); 

        }else if (mSpinner.getSelectedItem().toString().equals("SAINT PEPSI - PRIVATE CALLER")){ 
        Toast.makeText(MainActivity.this,""+mSpinner.getSelectedItem().toString(),Toast.LENGTH_LONG).show(); 
        } 
       } 
      } 
     }); 
     mBuilder.setNegativeButton("CLOSE",null); 
     mBuilder.setCancelable(false); 
     mBuilder.setView(mView); 
     AlertDialog dialog = mBuilder.create(); 
     dialog.show(); 

回答

1
public class MainActivity extends AppCompatActivity { 
    MediaPlayer mPlayer; 
    List<Integer> musicList; 
    ----- 
    @Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    ------ 
    list = new ArrayList<>(); 
    list.add(R.raw.vaporv2); 
    list.add(R.raw.saint_pepsi); 
    list.add(R.raw.saint_pepsi2); 
    ------ 
    mBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() 
    { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      if(which>0){ 
       MainActivity.this.play(which); 
      }  
     }  
    }); 

    } 
    public void Play(int which){ 
     if (mPlayer != null){ 
      mPlayer.stop(); 
      mPlayer.release(); 
      mPlayer = null; 
     } 
    mPlayer = MediaPlayer.create(MainActivity.this, list.get(which)); 
    mediaPlayer.start(); 
} 

}

+0

我有'MainActivity.this.play(其)的一個問題;' – MrMR

+0

@MrMR請告訴我你的問題 –