web-dev-qa-db-fra.com

SETAUDIOSTREAMTYPE Méthode obsolète, comment je peux le remplacer?

J'essaie de faire une application de diffusion radio dans Android Studio à l'aide de MediaPlayer, mais i lorsque la compilée montre l'erreur suivante:

utilise ou remplace une API obsolète. Recompiler avec -xlint: dépréciation pour plus de détails.

J'étais fouillé dans Android Documentation et je devrais reemplacer cette méthode pour setaayoattributes, je peux le changer? Je suis nouveau à l'aide Android Studio.

Merci.

la radio de classe publique étend fragment {

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

}

8
Jeison Melo

UTILISATION SETAUDIOATTRIBUTES (AUDIOATTRIBUTS) au lieu de SETAUDIOSTREAMTYPE ()

La documentation Google dit:

Définit le type de flux audio pour ce MediaPlayer. Voir Audiomerager pour une liste des types de flux. Doit appeler cette méthode avant de préparer () ou de la préparation () pour que le type de flux cible devienne efficace par la suite.

0
Edgar Khimich

Cela fonctionnera sur tous les niveaux d'API

MediaPlayer mediaPlayer = new MediaPlayer();
Uri audioUri = Uri.parse(strUri);
    try {
        mediaPlayer.setDataSource(context, audioUri);
    } catch (IOException e) {
        e.printStackTrace();
    }
    try {
        mediaPlayer.prepare();
    } catch (IOException e) {
        e.printStackTrace();
    }
    mediaPlayer.start();
0
Faizan Khan