Гость
Как запустить Android MediaPlayer
Сообщение
Гость » 11 мар 2024, 19:05
Я хочу запустить Media Player.
Как
enhance user interaction in the provided Android media player application? Briefly explain its role in visualizing playback progress and facilitating intuitive control over audio playback.
Код: Выделить всё
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);
};
}
Это то, что я пробовал, но не получаю ошибка.
Как
enhance user interaction in the provided Android media player application? Briefly explain its role in visualizing playback progress and facilitating intuitive control over audio playback.
Источник:
https://stackoverflow.com/questions/781 ... ediaplayer
1710173114
Гость
Я хочу запустить Media Player. Как[code]seekBar[/code] enhance user interaction in the provided Android media player application? Briefly explain its role in visualizing playback progress and facilitating intuitive control over audio playback. [code]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); }; } [/code] Это то, что я пробовал, но не получаю ошибка. Как[code]seekBar[/code] enhance user interaction in the provided Android media player application? Briefly explain its role in visualizing playback progress and facilitating intuitive control over audio playback. Источник: [url]https://stackoverflow.com/questions/78138726/how-to-run-android-mediaplayer[/url]