【发布时间】:2020-09-11 17:57:22
【问题描述】:
我想显示在搜索栏中播放音乐的进度。我不能这样做。请帮忙!
我不明白这里有什么问题。我对编程非常陌生。我实际上正在尝试构建一个可以播放音乐的应用程序,并且音乐进度显示在搜索栏上
package com.example.musicapp;
import androidx.appcompat.app.AppCompatActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Handler;
import android.provider.MediaStore;
import android.view.View;
import android.widget.ImageButton;
import android.widget.SeekBar;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
MediaPlayer startmusic;
SeekBar seekBar;
ImageButton play;
ImageButton pause;
Handler handler;
Runnable runnable;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
play=findViewById(R.id.play_button);
seekBar=findViewById(R.id.seekBar);
pause=findViewById(R.id.pause_button);
startmusic=MediaPlayer.create(this,R.raw.music);
}
public void playmusic(View v){
startmusic.start();
play.setImageResource(R.drawable.pause);
play.setVisibility(play.GONE);
pause.setVisibility(pause.VISIBLE);
seekBar.setMax(startmusic.getDuration());
Toast toast=Toast.makeText(getApplicationContext(),"Music is playing", Toast.LENGTH_SHORT);
toast.show();
changeSeekbar();
}
private void changeSeekbar() {
if(startmusic.isPlaying()){
seekBar.setProgress(startmusic.getCurrentPosition());
runnable=new Runnable() {
@Override
public void run() {
changeSeekbar();
handler.postDelayed(runnable,100);
}
};
}
}
public void pausemusic(View v){
if(startmusic.isPlaying()) {
startmusic.pause();
play.setImageResource(R.drawable.pause);
play.setVisibility(play.VISIBLE);
pause.setVisibility(pause.GONE);
seekBar.setProgress(startmusic.getCurrentPosition());
Toast toast=Toast.makeText(getApplicationContext(),"Music is paused", Toast.LENGTH_SHORT);
toast.show();
}
}
}
【问题讨论】:
标签: java android android-studio android-fragments