setAudioStreamType устарел метод, как я могу заменить его? - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь создать приложение для потоковой передачи в Android Studio, используя медиаплеер, но я при компиляции выдает следующую ошибку:

использует или отвергает устаревший API.Перекомпилируйте с -Xlint: не рекомендуется для подробностей.

Я искал в документации Android, и я должен заменить этот метод для setAudioAttributes, я, как это можно изменить?Я новичок в Android Studio.

Спасибо.

публичный класс Радио расширяет фрагмент {

Button play_pause;
MediaPlayer mp;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.radio, container, false);
    play_pause = (Button) view.findViewById(R.id.btnplay);
    try {
           mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
            mp.setDataSource("http://198.27.83.65:9962/;stream.mp3");
            mp.prepareAsync();
     }
     catch (Exception e){
         Toast.makeText(getContext(),"Error" + e,Toast.LENGTH_SHORT).show();
     }
     //mp = MediaPlayer.create(this.getContext(), R.raw.radio);
        play_pause.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                     if(mp.isPlaying()) {
                        mp.pause();
                        Toast.makeText(getContext(),"Stop",Toast.LENGTH_SHORT).show();
                    }
                    else {
                        mp.start();
                        Toast.makeText(getContext(),"Start",Toast.LENGTH_SHORT).show();
                    }
            }
        });
    return view;
}

}

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

Использовать setAudioAttributes (AudioAttributes) вместо setAudioStreamType ()

Документация Google гласит:

Устанавливает тип аудиопотокадля этого MediaPlayer.Смотрите AudioManager для списка типов потоков.Необходимо вызвать этот метод перед prepare () или prepareAsync (), чтобы тип целевого потока вступил в силу после этого.

0 голосов
/ 25 июня 2019
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);

до

mp.setAudioAttributes(
            new AudioAttributes
               .Builder()
               .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
               .build());
...