Прямая трансляция MediaPlayer Android

Необходимо зафиксировать одно:

bmih.biXPelsPerMeter = bmih.biYPelsPerMeter = 0;

В противном случае некорректное редактирование изображения невозможно.

1
задан Aaron 18 March 2019 в 01:07
поделиться

1 ответ

То, что я смог выяснить, это поместить мой MediaPlayer в Async Task (фоновый поток) в мое приложение.

mediaPlayer = new MediaPlayer();
        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

        b = (ImageButton) bottomSheet.findViewById(R.id.imageButton);

        new PlayerTask().execute(s);

        b.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view)
            {
                if(started)
                {
                    mediaPlayer.start();
                }
            }
        }); 
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);
        mediaPlayer.start();
    }
}

Поскольку коды практически идентичны, кто-нибудь может ответить, почему это работает, а не только в главном потоке?

0
ответ дан Aaron 18 March 2019 в 01:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: