Как добавить несколько URL prepared

144
16 ноября 2018, 08:00

Коллеги, пытаюсь добавить еще одну ссылку на радио с инета, сейчас есть кнопка которая воспроизводит аудио-поток, хочу добавить еще одну кнопку которая будет воспроизводит другой канал,на данный момент у меня таким образом работает:

public class MainActivity extends AppCompatActivity {
    Button  b_Play;
    Button  kiss_fm;
    MediaPlayer mediaPlayer;
    boolean prepared = false;
    boolean started = false;
    boolean play = true;
    String stream = "http://air.radiorecord.ru:8102/rus_320";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        b_Play = (Button) findViewById(R.id.b_play);
        kiss_fm = (Button) findViewById(R.id.kiss_fm);
        mediaPlayer = new MediaPlayer();
        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        b_Play.setEnabled(false);
        b_Play.setText("LOADING");
        new PlayerTask().execute(stream);

        b_Play.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (started) {
                    started = false;
                    mediaPlayer.pause();
                    b_Play.setText("PLAY");
                } else {
                    started = true;
                    mediaPlayer.start();
                    b_Play.setText("PAUSE");
                }
            }
        });
    }
    class PlayerTask extends AsyncTask<String, Void, Boolean> {
        @Override
        protected Boolean doInBackground(String... strings) {
            try {
                mediaPlayer.setDataSource(strings[0]);
                mediaPlayer.prepare();
                prepared = true;
            } catch (IOException e) {
                e.printStackTrace();
            }
            return prepared;
        }
        @Override
        protected void onPostExecute(Boolean aBoolean) {
            super.onPostExecute(aBoolean);
            b_Play.setEnabled(true);
            b_Play.setText("PLAY");
        }
    }
    @Override
    protected void onPause() {
        super.onPause();
        if (started) {
            mediaPlayer.pause();
        }
    }
    @Override
    protected void onResume() {
        super.onResume();
        if (started) {
            mediaPlayer.start();
        }
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (prepared) {
            mediaPlayer.release();
        }
    }
};
READ ALSO
Как при получении задания печати на принтер издавать звук?

Как при получении задания печати на принтер издавать звук?

Из производственной необходимости возникла идея написать программу, которая издавала бы звук в том случае, если на общий в организации принтер...

140
Как можно оптимизировать эту часть кода?Java,socket

Как можно оптимизировать эту часть кода?Java,socket

Я принимаю изображение и рисую его в окне но с каждым нарисованным изображением памяти жрёт всё больше и большеПри долгой работе вообще отказывает...

156
Flex позиционирование блоков

Flex позиционирование блоков

Народ как с помощью flex расположить блоки помечены красними рамками в таком порядке как на картинке?

168
ошибка в сафари decodeAudioData

ошибка в сафари decodeAudioData

Есть функиця декодирования аудиофайла

169