2016-07-20 4 views
0

上記の問題の後...アプリの再生ボタンは反応しません....私はアプリに戻って、それが停止していた場所から再生を続けるまで、音楽を一時停止したい... ... PLZヘルプ.. 。このメディアプレーヤーを使用して音楽を再生しているときに、電話がかかってきたときにホームボタンが押され、電話画面が消える(ロック画面)

ekdanta.java

public class ekdanta extends AppCompatActivity implements Runnable,View.OnClickListener,SeekBar.OnSeekBarChangeListener { 
 
    TextView tv4; 
 
    Button b9, b10,but19; 
 
    int count = 0; 
 
    MediaPlayer play; 
 
    SeekBar seek_bar; 
 

 
    @Override 
 
    protected void onCreate(Bundle savedInstanceState) { 
 
    super.onCreate(savedInstanceState); 
 
    setContentView(R.layout.activity_ekdanta); 
 
    tv4 = (TextView) findViewById(R.id.textView9); 
 
    tv4.setTextSize((float)21.5); 
 
    tv4.setText(Html.fromHtml(getString(R.string.thirteen))); 
 
    b9 = (Button) findViewById(R.id.b9); 
 
    b10 = (Button) findViewById(R.id.b10); 
 
    seek_bar = (SeekBar) findViewById(R.id.seekBar); 
 
    seek_bar.setOnSeekBarChangeListener(this); 
 
    seek_bar.setEnabled(false); 
 
    but19 = (Button) findViewById(R.id.button19); 
 
    but19.setOnClickListener(this); 
 
    } 
 

 
    public void run() { 
 
    int currentPosition= play.getCurrentPosition(); 
 
    int total = play.getDuration(); 
 
    while (play!=null && currentPosition<total) { 
 
    try { 
 
    Thread.sleep(1000); 
 
    currentPosition= play.getCurrentPosition(); 
 
    } catch (InterruptedException e) { 
 
    return; 
 
    } catch (Exception e) { 
 
    return; 
 
    } 
 
    seek_bar.setProgress(currentPosition); 
 
    } 
 
    } 
 

 
    public void onClick(View v) { 
 
    if (v.equals(but19)) { 
 
    if (play == null) { 
 
    play = MediaPlayer.create(getApplicationContext(), R.raw.ekadanta); 
 
    seek_bar.setEnabled(true); 
 
    } 
 
    if (play.isPlaying()) { 
 
    play.pause(); 
 
    but19.setText("Play"); 
 
    } else { 
 
    play.start(); 
 
    but19.setText("Pause"); 
 
    seek_bar.setMax(play.getDuration()); 
 
    new Thread(this).start(); 
 
    } 
 
    } 
 
    } 
 

 

 
    @Override 
 
    protected void onPause() { 
 
    if(play!=null){ 
 
    play.stop(); 
 
    } 
 
    super.onPause(); 
 
    } 
 

 
    public void increase(View inc) { 
 
    count++; 
 
    if (count == 1) { 
 
    tv4.setTextSize(25); 
 
    } else if (count == 2) { 
 
    tv4.setTextSize(30); 
 
    } else if (count >= 3) { 
 
    count = 3; 
 
    tv4.setTextSize(40); 
 
    } 
 
    } 
 

 
    public void decrease(View dec) { 
 
    count--; 
 
    if (count <= 0) { 
 
    tv4.setTextSize((float)21.5); 
 
    count = 0; 
 
    } 
 
    if (count == 1) { 
 
    tv4.setTextSize(25); 
 
    } else if (count == 2) { 
 
    tv4.setTextSize(30); 
 
    } else if (count == 3) { 
 
    tv4.setTextSize(40); 
 
    } 
 
    } 
 

 
    @Override 
 
    public void onProgressChanged(SeekBar seek_bar, int progress, boolean fromUser) { 
 
    try{ 
 
    if(play.isPlaying()||play!=null){ 
 
    if (fromUser) 
 
    play.seekTo(progress); 
 
    } 
 
    else if(play==null){ 
 
    Toast.makeText(getApplicationContext(),"First Play",Toast.LENGTH_SHORT).show(); 
 
    seek_bar.setProgress(0); 
 
    } 
 
    } 
 
    catch(Exception e){ 
 
    Log.e("seek bar",""+e); 
 
    seek_bar.setEnabled(false); 
 
    } 
 
    } 
 

 
    @Override 
 
    public void onStartTrackingTouch(SeekBar seekBar) { 
 

 
    } 
 

 
    @Override 
 
    public void onStopTrackingTouch(SeekBar seekBar) { 
 

 
    } 
 
    }

+0

はこれを試して停止したところから一時停止します音楽を再生することができるよ.....私の問題を克服するために私を助けましたhttp://www.tutorialsface.com/2015/08/android-custom-notification-tutorial/ –

+0

着信コール、画面がオフになったり、ホームボタンが押されたときに音楽を一時停止したいアプリ内で音楽を一度再生することができるはずです。 – Devk

+0

'onStop'と' onStart'をオーバーライドし、 'onStop'の中で再生を中止し、' onStart'を中断した場合に再生を中止します。これらのメソッドが呼び出されたときのドキュメントのチェックアウト。こちらをご覧ください:https://developer.android.com/training/basics/activity-lifecycle/stopping.html –

答えて

0
@Override 
protected void onPause() 
{ 
    super.onPause(); 
    if (play3!= null) 
    { 
     play3.pause(); 
    } 
} 

@Override 
protected void onResume() 
{ 
    super.onResume(); 
    if ((play3 != null) && (!play3.isPlaying())) { 
     but32.setText("Play"); 
     but32.setOnClickListener(this); 
    } 
} 

これは私がホームボタン/ロック画面/呼び出しが表示されたら...それは

関連する問題