이 코드를 확인하고 seekbar에 대해 도움을 요청하십시오. Seekbar가 작동하지 않습니다. 응용 프로그램에서 소스에서 오디오를 재생하려고하고 seekbar도 시도하고 있습니다. 그러나 검색 막대가 오디오와 함께 움직이지 않습니다. 파일.안드로이드 탐색 표시 줄이 온라인 스트리밍과 작동하지 않습니다
이 코드를 확인하고 seekbar에 대해 도움을 요청하십시오. Seekbar가 작동하지 않습니다. 응용 프로그램에서 소스에서 오디오를 재생하려고하는데 seekbar도 재생하려고합니다. 그러나 검색 막대가 오디오 파일로 이동하지 않습니다.
public class TrackDetailActivity extends AppCompatActivity {
private static final String TAG = "TrackDetailActivity";
private TextView mArtistName, mTrackName;
private ImageView mAlbumArt;
private MediaPlayer mMediaPlayer;
private ImageView mPlayerPlay, mStopPlayer;
private SeekBar mSeekBar;
public static final String KEY_TRACK = "trackObj";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.track_detail_new);
mArtistName = (TextView) findViewById(R.id.tv_artist_name);
mTrackName = (TextView) findViewById(R.id.tv_track_name);
mAlbumArt = (ImageView) findViewById(R.id.iv_album_art);
mPlayerPlay = (ImageView) findViewById(R.id.playerControl);
mStopPlayer = (ImageView) findViewById(R.id.stopControl);
mSeekBar = (SeekBar) findViewById(R.id.seek);
Intent intent = getIntent();
final Track track = (Track) intent.getSerializableExtra(TrackDetailActivity.KEY_TRACK);
String trackName = track.getTrackName();
mTrackName.setText(trackName);
mArtistName.setText(track.getArtistName());
Log.d(TAG, "onCreate: " + track.getDuration());
GlideApp.with(this)
.asBitmap()
.load(track.getAlbumArtUrl())
.centerCrop()
.listener(requestListener)
.into(mAlbumArt);
//Toast.makeText(this, "Track: " + track.getTrackName(), Toast.LENGTH_SHORT).show();
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mMediaPlayer.start();
mSeekBar.setProgress(0);
mSeekBar.setMax(mediaPlayer.getDuration());
Log.d(TAG, "onPrepared: Max Seek: " + mediaPlayer.getDuration());
togglePlayPause();
}
});
mPlayerPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (mMediaPlayer.isPlaying()) {
togglePlayPause();
mMediaPlayer.stop();
mMediaPlayer.reset();
} else {
togglePlayPause();
try {
mMediaPlayer.setDataSource(track.getPreviewUrl());
mMediaPlayer.prepareAsync();
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
Thread durationThread = new SeekThread();
durationThread.start();
}
public class SeekThread extends Thread {
@Override
public void run() {
try {
Thread.sleep(1000);
Log.d("SeekThread", "run: " + 1);
mSeekBar.setProgress(mMediaPlayer.getDuration());
Log.d("SeekThread", "run: " + mMediaPlayer.getCurrentPosition());
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
private void togglePlayPause() {
if (mMediaPlayer.isPlaying()) {
mMediaPlayer.pause();
mPlayerPlay.setImageResource(R.drawable.ic_action_play);
} else {
mMediaPlayer.start();
mPlayerPlay.setImageResource(R.drawable.ic_pause);
}
}
private RequestListener<Bitmap> requestListener = new RequestListener<Bitmap>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
setBlurredImage(resource);
return false;
}
};
private void setBlurredImage(Bitmap source) {
Bitmap blurredBitmap = NativeStackBlur.process(source, 50);
ImageView screenBg = (ImageView) findViewById(R.id.screen_bg);
screenBg.setImageBitmap(blurredBitmap);
}
}
검색 바둑판 스레드 수는 얼마입니까? mSeekBar.setProgress (mMediaPlayer.getDuration()); 어떤 숫자가 돌아 왔습니까? 너는 넣어 뒀다 로그에 의하여 검사 할 수 있는다 –