Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 播放音乐后,我想将seekbar重置为开始位置,按钮显示“开始”;“玩”;_Java_Android - Fatal编程技术网

Java 播放音乐后,我想将seekbar重置为开始位置,按钮显示“开始”;“玩”;

Java 播放音乐后,我想将seekbar重置为开始位置,按钮显示“开始”;“玩”;,java,android,Java,Android,我想在播放音乐和按钮显示“播放”后将搜索杆重置为开始位置…代码的问题是,搜索栏在播放完音乐后仍停留在结束位置,按钮仍显示“暂停” 这是我的密码 ekdanta.java public class ekdanta extends AppCompatActivity implements Runnable, View.OnClickListener,SeekBar.OnSeekBarChangeListener { TextView tv4; Button b9, b10,but19;

我想在播放音乐和按钮显示“播放”后将搜索杆重置为开始位置…代码的问题是,搜索栏在播放完音乐后仍停留在结束位置,按钮仍显示“暂停”

这是我的密码

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) {

}
}
公共类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月视图){
计数--;

如果(count
MediaPlayer
已经获得了
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”)}