我一直试图通过MediaPlayer包在我的android studio应用程序中停止我的歌曲。我已将我的歌曲放在应用程序中,当我播放它并暂停时它播放得很好。但是,当我按下停止功能后播放歌曲或暂停歌曲时,它意外地使应用程序崩溃,说“不幸的是,PlayPauseStop已停止”。我可以肯定停止功能正在发生,但我不太确定我需要做什么才能停止实际的歌曲并从头开始重启。另外,我试图添加一个读取歌曲持续时间长度的seekBar。我确信我需要做setDuration();, setMax();等等。我将感谢任何有用的资源,我可以用它来跟踪我想要做的事情。到目前为止,这是我的代码,而不是最好的代码:
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)
为什么你发声=空,任何具体原因? 在停止时你可以打电话给休息
答案 1 :(得分:0)
尝试使用stop方法而不是release()。释放方法结束媒体播放器对象的生命周期。 Stop()方法应该做得很好