Вот код кнопки, которая должна запускать и приостанавливать звук. Я проверил кнопку-текст == "старт" или "пауза" и изменил текст и соответственно использовал соответствующие методы. то есть mediaplayer.start() и mediaplayer.pause(). Но все равно звук не воспроизводится.
package com.example.demo;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity
{
MediaPlayer mediaPlayer;//Mediaplayer
Button button;
public void start(View view)
{
String text = button.getText().toString();
if (text == "start")
{
mediaPlayer.start(); //starting the audio
button.setText("pause");
}
else
{
mediaPlayer.pause(); //pausing the audio
button.setText("start");
}
}
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.start);
mediaPlayer = MediaPlayer.create(this,R.raw.music);
}
}
Есть несколько шагов, которые вы должны попробовать: Во-первых, попробуйте это, потому что я думаю, что это всегда дает ложное условие:
if (text.trim().equals("start"))
Если все еще не работает Попробуйте это:
public class MainActivity extends AppCompatActivity
{
MediaPlayer mediaPlayer;//Mediaplayer
Button button;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.start);
mediaPlayer = MediaPlayer.create(this,R.raw.music);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = button.getText().toString().trim();
if (text.equals("start"))
{
mediaPlayer.start();
button.setText("pause");
}
else
{
mediaPlayer.pause();
button.setText("start");
}
}
}
} }
на самом деле .trim() просто удаляет пробелы. голосование
Большое спасибо, это сработало, но я все равно не понимаю, почему. Можете ли вы объяснить, что было не так в моем коде