Java 播放音乐后,我想将seekbar重置为开始位置,按钮显示“开始”;“玩”;
我想在播放音乐和按钮显示“播放”后将搜索杆重置为开始位置…代码的问题是,搜索栏在播放完音乐后仍停留在结束位置,按钮仍显示“暂停” 这是我的密码 ekdanta.javaJava 播放音乐后,我想将seekbar重置为开始位置,按钮显示“开始”;“玩”;,java,android,Java,Android,我想在播放音乐和按钮显示“播放”后将搜索杆重置为开始位置…代码的问题是,搜索栏在播放完音乐后仍停留在结束位置,按钮仍显示“暂停” 这是我的密码 ekdanta.java public class ekdanta extends AppCompatActivity implements Runnable, View.OnClickListener,SeekBar.OnSeekBarChangeListener { TextView tv4; Button b9, b10,but19;
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) {
}
}
公共类ekdanta扩展AppCompatActivity实现Runnable、View.OnClickListener、SeekBar.OnSeekbarChangListener{
文本视图tv4;
按钮b9、b10、but19;
整数计数=0;
媒体播放器播放;
SeekBar搜索栏;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ekdanta);
tv4=(TextView)findViewById(R.id.textView9);
tv4.setTextSize((浮动)21.5);
tv4.setText(Html.fromHtml(getString(R.string.十三));
b9=(按钮)findViewById(R.id.b9);
b10=(按钮)findViewById(R.id.b10);
seek_bar=(SeekBar)findViewById(R.id.SeekBar);
seek_bar.setonseekbarchaneglistener(此);
seek_bar.setEnabled(假);
but19=(按钮)findViewById(R.id.button19);
但是19.setOnClickListener(这个);
}
公开募捐{
int currentPosition=play.getCurrentPosition();
int total=play.getDuration();
while(play!=null&¤tPosition=3){
计数=3;
tv4.setTextSize(40);
}
}
公共空间减少(12月视图){
计数--;
如果(countMediaPlayer
已经获得了onCompletionListener()
,您可以使用它。您的带有处理程序的代码不太可靠,最好对其进行重构
mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// do whatever you want
}
});
Slanecek你能不能写一些代码并展示一下….onCompletionListener()应该在运行时出现()?好的,知道了….play.setOnCompletionListener(新的MediaPlayer.onCompletionListener(){@Override public void onCompletion(MediaPlayer mp){play.seekTo(0);但是19.setText(“play”)}