2016-05-09 48 views
0

我一直在嘗試使用MediaPlayer軟件包在我的android studio應用程序中停止我的歌曲。我已將歌曲放入應用程序中,播放時暫停播放,播放效果良好。但是,當我按下停止功能後播放歌曲或暫停播放歌曲時,它意外地使應用程序崩潰,並說「不幸的是,PlayPauseStop已停止播放」。我可以確定這是停止功能中發生的事情,但我不太確定我需要做些什麼來停止實際歌曲並從頭開始重新播放。另外,我正在試圖添加一個seekBar來讀取歌曲持續時間的長度。我相信我需要做setDuration(),setMax()等等。我會欣賞任何有用的資源,我可以用它來跟蹤我正在嘗試爲此做什麼。這裏是我的代碼,到目前爲止,沒有最好的:如何使用播放/暫停切換和seekBar小部件製作停止按鈕功能

package com.example.hamzeh.playpausestop; 
import android.media.MediaPlayer; 
import android.media.MediaPlayer; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.Toast; 
import android.widget.ToggleButton; 
import android.widget.SeekBar; 

public class MainActivity extends AppCompatActivity { 
SeekBar seek_bar; 
int pause; 
protected static MediaPlayer Sound; 

// 

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

    Sound = MediaPlayer.create(MainActivity.this, R.raw.music); 


} 

public void onToggleClicked(View view) 
{ 
    boolean checked = ((ToggleButton)view).isChecked(); 

    if (checked && !Sound.isPlaying() && Sound!=null) 
    { 
     Sound.start(); 
     //Play the song 
    } 
    else if (Sound.isPlaying()) 
    { 
     Sound.pause(); 
     pause = Sound.getCurrentPosition(); 
     //Pause on the current position 
    } 
    else 
    { 
     Toast.makeText(MainActivity.this, "Something Is Wrong", Toast.LENGTH_SHORT).show(); 
     //Shows a message if the music is not existing in the raw file 
    } 

} 

public void stop(View view) 
{ 
    Sound.release(); 
    Sound = null; 

} 

}

(我想學習如何使用Android Studio還)

+0

我已經知道了:) –

回答

1

你爲什麼讓聲音= NULL,任何特定的原因?? 停止,您可以呼叫休息,而不是

+0

聲音的原因!= null是因爲阻止歌曲重複。 –

0

嘗試停止方法,而不是釋放()。發佈方法結束媒體播放器對象的生命週期。 Stop()方法應該做得很好