Проблема с воспроизведением аудиофайла с помощью медиаплеера

Вот код кнопки, которая должна запускать и приостанавливать звук. Я проверил кнопку-текст == "старт" или "пауза" и изменил текст и соответственно использовал соответствующие методы. то есть 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);
}
}
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Есть несколько шагов, которые вы должны попробовать: Во-первых, попробуйте это, потому что я думаю, что это всегда дает ложное условие:

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");
        }

      }
    }
} }

Большое спасибо, это сработало, но я все равно не понимаю, почему. Можете ли вы объяснить, что было не так в моем коде

Bhagya Singh 28.07.2019 16:02

на самом деле .trim() просто удаляет пробелы. голосование

Megamind Core 28.07.2019 17:01

Другие вопросы по теме