2012-02-27 17 views
17

मेरी परियोजना में, मैं निम्नलिखित कोडएंड्रॉयड मीडिया प्लेयर चलाएं/रोकें बटन

MediaPlayer mPlayer = MediaPlayer.create(MyActivity.this, R.raw.myfile); 
mPlayer.start(); 

ऊपर प्ले बटन की onclick में कोडित है का उपयोग करके एंड्रॉयड मीडिया प्लेयर में संगीत फ़ाइल खेल रहा हूँ। मैं उसी बटन पर क्लिक करके प्लेबैक को फिर से रोकना चाहता हूं। ए) प्ले/पॉज़ के लिए एकल बटन। मैं यह कैसे करूँगा।

उत्तर

41

आप रुकने को संभालने के लिए सरल if-check का उपयोग कर सकते हैं। mediaPlayer.isPlaying() के लिए

if(mPlayer.isPlaying()){ 
    mPlayer.pause(); 
} else { 
    mPlayer.start(); 
} 
8

इस प्रयास करें ::

final Button bPlay = (Button) findViewById(R.id.bPlay); 
MediaPlayer song1 = MediaPlayer.create(tutorialFour.this, R.raw.fluet); 
Button bStop = (Button) findViewById(R.id.bStop); 
bPlay.setWidth(10); 

song1.setOnCompletionListener(new OnCompletionListener() { 

     public void onCompletion(MediaPlayer mp) { 

      bPlay.setText("Play"); 


     } 
    }); 

bPlay.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      b = true; 

      if (bPlay.getText().equals("Play") && b == true) { 

       song1.start(); 

       bPlay.setText("Pause"); 
       b = false; 
      } else if (bPlay.getText().equals("Pause")) { 
       x = song1.getCurrentPosition(); 
       song1.pause(); 
       bPlay.setText("Resume"); 
       Log.v("log", "" + x); 
       b = false; 
      } else if (bPlay.getText().equals("Resume") && b == true) { 
       song1.seekTo(x); 
       song1.start(); 
       bPlay.setText("Pause"); 
       b = false; 
      } 


     } 

    }); 
5

बटन पर क्लिक करें चेक के अंदर: इस प्रयास करें। मीडिया प्लेयर अन्यथा झूठ बोल रहा है तो यह सच होगा।

तो इस के साथ अब, झंडा मूल्य आप एक अगर बयान बनाने के लिए और खेल सकते हैं या इस तरह रोकने के लिए स्विच कर सकते हैं,

button.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View view) { 

      if (mediaplayer.isPlaying()) { 
       mediaplayer.pause(); 
      } else { 
       mediaplayer.start(); 
      } 
     } 
    }); 
3

कोड नीचे आगे और पीछे के साथ अपने चलाएं/रोकें बटन क्लिक करें घटना का ख्याल रखता है प्रदान की गई तलाशबार पर आगे और पीछे की तलाश के लिए बटन (जो मीडिया ट्रैक के साथ सिंक्रनाइज़ किया गया है)। वर्तमान में यह सिर्फ एक गीत बजाता है। हालांकि, आप उसमें जोड़ सकते हैं। यह मेरा पहला मीडिया प्लेयर है जो mediaplayer class का उपयोग कर रहा है, इसलिए आपको इसे थोड़ा सा प्राचीन मिल सकता है। हालांकि यदि आपको आवश्यकता है तो आप VideoView उदाहरण भी देख सकते हैं। VideoView के साथ यह स्पष्ट रूप से आसान है क्योंकि मानक मीडिया कंसोल पहले से परिभाषित विगेट्स के रूप में पहले से मौजूद है। ताकि खिलाड़ी को डिजाइन करना बहुत आसान हो।

package in.org.Test; 

import android.app.Activity; 
import android.media.MediaPlayer; 

import android.os.Bundle; 

import android.view.View; 
import android.view.View.OnClickListener; 

import android.widget.ImageButton; 

import android.widget.ProgressBar; 
import android.widget.SeekBar; 

import android.widget.Toast; 

public class Test12Activity extends Activity implements OnClickListener,Runnable { 

    private static final String isPlaying = "Media is Playing"; 
    private static final String notPlaying = "Media has stopped Playing"; 

    private SeekBar seek; 

    MediaPlayer player = new MediaPlayer(); 
    private ImageButton plus,minus; 

    ImageButton im; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     plus = (ImageButton) findViewById(R.id.imageButton2); 
     minus = (ImageButton) findViewById(R.id.imageButton3); 


     player = MediaPlayer.create(this, R.raw.sound2); 


     player.setLooping(false); 
     im = (ImageButton) this.findViewById(R.id.imageButton1); 


     seek = (SeekBar) findViewById(R.id.seekBar1); 
     seek.setVisibility(ProgressBar.VISIBLE); 
     seek.setProgress(0); 
     seek.setMax(player.getDuration()); 
     new Thread(this).start(); 


     im.setOnClickListener(this); 
     player.start(); 

     Toast.makeText(this, isPlaying, Toast.LENGTH_LONG).show(); 


     plus.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { int cu = player.getCurrentPosition(); player.seekTo(cu-5000); }}); 
     minus.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) {int cu = player.getCurrentPosition(); player.seekTo(cu+5000);}}); 


    } 


    @Override 
    public void onClick(View arg0) { 
     if (arg0.getId() == R.id.imageButton1) { 
     if(player.isPlaying()) { 
     player.pause(); 

     Toast.makeText(this, notPlaying, Toast.LENGTH_LONG).show(); 
     ImageButton img1=(ImageButton) this.findViewById(R.id.imageButton1); 

     img1.setImageResource(R.drawable.play); 

     } 
     else 
     { 
      player.start(); 
      Toast.makeText(this, isPlaying, Toast.LENGTH_LONG).show(); 

      ImageButton img1=(ImageButton) this.findViewById(R.id.imageButton1); 
      img1.setImageResource(R.drawable.pause); 
     } 
     } 
     } 

    @Override 
    public void run() { 
     int currentPosition= 0; String s; 
     int total = player.getDuration(); 
     while (player!=null && currentPosition<total) { 
      try { 
       Thread.sleep(1000); 
       currentPosition= player.getCurrentPosition(); 
      } catch (InterruptedException e) { 
       return; 
      } catch (Exception e) { 
       return; 
      }    

      seek.setProgress(currentPosition); 


     } 


    } 
} 
1
MediaPlayer mpE = MediaPlayer.create(GuitarTuner.this, R.raw.test2); 

    play.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      if (mpE.isPlaying()) { 
       mpE.pause(); 
       play.setBackgroundResource(R.drawable.play); 
      } else { 

       mpE.start(); 
       play.setBackgroundResource(R.drawable.pause); 
      } 

     } 
    }); 
0

रोक के लिए Mediaplayer:

Mediaplayer.pause(); 
length = Mediaplayer.getCurrentPosition(); 

और स्थिति जहां यह हाल ही में बंद कर दिया से खिलाड़ी शुरू करने के लिए द्वारा किया जाता है:

Mediaplayer.seekTo(length); 
Mediaplayer.start(); 
0

सार्वजनिक वर्ग MainActivity फैली AppCompatActivity {

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

// गीत पहले कच्चे फ़ोल्डर में सहेजा गया था। गीत का नाम मेरा जीवन है (यह एक एमपी 3 फ़ाइल है) अंतिम मीडियाप्लेयर mMediaPlayer = MediaPlayer.create (MainActivity.this, R.raw.mylife);

//  Play song 
    Button playButton = (Button) findViewById(R.id.play); 
    playButton.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
      mMediaPlayer.start(); // no need to call prepare(); create() does that for you 
     } 
    }); 
    //  Pause song 
    Button pauseButton = (Button) findViewById(R.id.pause); 
    pauseButton.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
      mMediaPlayer.pause(); 
     } 
    }); 

    //  Stop song - when you stop a song, you can't play it again. First you need to prepare it. 

    Button stopButton = (Button) findViewById(R.id.stop); 
    stopButton.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
      mMediaPlayer.stop(); 
      mMediaPlayer.prepareAsync(); 
     } 
    }); 

} 

}

+1

कृपया सिर्फ कोड डंप नहीं है ... अपने जवाब में कम से कम एक छोटा सा समझाने। और [दौरे] ले लो –

संबंधित मुद्दे