Я хочу запустить Media Player.
Как
Код: Выделить всё
seekBarКод: Выделить всё
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;
import java.sql.Time;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeUnit;
public class MainActivity extends AppCompatActivity {
private Button start_bt, stop_bt, forward_bt, backward_bt;
private TextView tx1, tx2, tx3;
private SeekBar seek;
private MediaPlayer mediaPlayer;
private double startTime = 0;
private double finalTime = 0;
private int forwardTime = 5000;
private int backwardTime = 5000;
public static int OneTimeOnly = 0;
private Handler myHandler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
start_bt = (Button) findViewById(R.id.button);
stop_bt = (Button) findViewById(R.id.button2);
forward_bt = (Button) findViewById(R.id.button3);
backward_bt = (Button) findViewById(R.id.button4);
seek = (SeekBar) findViewById(R.id.seekBar);
tx1 = (TextView) findViewById(R.id.tx1);
tx2 = (TextView) findViewById(R.id.tx2);
tx3 = (TextView) findViewById(R.id.tx3);
tx3.setText("Song.mp3");
mediaPlayer = MediaPlayer.create(this, R.raw.song);
seek.setClickable(false);
stop_bt.setEnabled(false);
start_bt.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Playing", Toast.LENGTH_SHORT).show();
mediaPlayer.start();
finalTime = mediaPlayer.getDuration();
startTime = mediaPlayer.getCurrentPosition();
if(OneTimeOnly == 0)
{
seek.setMax((int)finalTime);
OneTimeOnly = 1;
}
tx2.setText( String.format("%d min, %d sec",
TimeUnit.MILLISECONDS.toSeconds((long)finalTime),
TimeUnit.MILLISECONDS.toMinutes((long)finalTime)-
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes((long)finalTime))));
tx1.setText( String.format("%d min, %d sec",
TimeUnit.MILLISECONDS.toSeconds((long)startTime),
TimeUnit.MILLISECONDS.toMinutes((long)startTime)-
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes((long)startTime))));
seek.setProgress((int)startTime);
myHandler.postDelayed(UpdateSongTime, 100);
start_bt.setEnabled(false);
stop_bt.setEnabled(true);
}
});
stop_bt.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Toast.makeText(getApplicationContext(), "Pausing", Toast.LENGTH_SHORT).show();
mediaPlayer.pause();
start_bt.setEnabled(true);
stop_bt.setEnabled(false);
}
});
forward_bt.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
int temp = (int)startTime;
if((temp + forwardTime)0)
{
startTime = startTime - BackTime;
mediaPlayer.seekTo((int)startTime);
Toast.makeText(getApplicationContext(), " Назад на 5 секунд", Toast.LENGTH_SHORT).show();
else
{
Toast.makeText(getApplicationContext(), "Невозможно вернуться назад", Toast. LENGTH_SHORT).show();
});
частный Runnable UpdateSongTime = new Runnable() {
@Override
public void run() {
startTime = mediaPlayer.getCurrentPosition();
seek.setProgress((int) startTime);
myHandler.postDelayed( это, 100);
};
}
Как
Код: Выделить всё
seekBarИсточник: https://stackoverflow.com/questions/781 ... ediaplayer