0

Je veux diffuser pour une radio en ligne avec exoplayer version rc2.x.x si un service android. J'ai essayé d'apprendre de tous les tutoriels en ligne que je pourrais, mais ils sont tous avant la version 2.x.x et beaucoup d'entre eux sont également liés à la vidéo (dont je n'ai pas besoin).Android: Comment utiliser exoplayer 2.x.x pour diffuser un lien radio

Est-ce que quelqu'un a un très bon tutoriel?

+0

pourquoi voulez-vous utiliser ExoPlayer du tout? –

+0

Mediaplayer est vraiment limité et j'ai été confronté à de nombreux problèmes de compatibilité d'un appareil à l'autre. Même Google recommande de nos jours de commencer à utiliser Exoplayer autant que je sache – user3793589

Répondre

5

Je n'ai pas une connaissance approfondie d'ExoPlayer mais j'ai préparé cet extrait de code qui peut diffuser un lien mp3.

EXO Joueur Verison: r2.0.4

private void initMediaPlayer() { 
     Handler mHandler = new Handler(); 

     String userAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:40.0) Gecko/20100101 Firefox/40.0"; 
     Uri uri = Uri.parse("http://feedproxy.google.com/~r/TheCombatJackShow/~5/s_9fWPxLDu0/188058705-thecombatjackshow-the-j-cole-episode.mp3"); 
     DataSource.Factory dataSourceFactory = new DefaultHttpDataSourceFactory(
       userAgent, null, 
       DefaultHttpDataSource.DEFAULT_CONNECT_TIMEOUT_MILLIS, 
       DefaultHttpDataSource.DEFAULT_READ_TIMEOUT_MILLIS, 
       true); 
     MediaSource mediaSource = new ExtractorMediaSource(uri, dataSourceFactory, Mp3Extractor.FACTORY, 
       mHandler, null); 

     TrackSelector trackSelector = new DefaultTrackSelector(mHandler); 
     DefaultLoadControl loadControl = new DefaultLoadControl(); 
     ExoPlayer exoPlayer = ExoPlayerFactory.newSimpleInstance(this, trackSelector, loadControl); 
     //exoPlayer.addListener(this); 

     exoPlayer.prepare(mediaSource); 
     exoPlayer.setPlayWhenReady(true); 

    } 

Ce lien peut également vous aider: https://medium.com/@emuneee/migrating-from-exoplayer-1-x-to-2-0-58fbda36b46c#.b8joifc36

+0

Merci. Cela a fonctionné. Néanmoins, quand j'essaie de garder une référence de la variable exoPlayer en dehors de la méthode (c'est-à-dire en changeant la variable exoPlayer en variable globale), cela ne marche plus. Une idée? – user3793589

+0

avez-vous des exceptions? –

+0

Non, je n'en ai pas. Rien ne fonctionne simplement lorsque je déclare la variable exoplayer comme globale dans ma classe Service. Dans votre cas, puisque vous avez déclaré votre variable local, comment allez-vous arrêter votre joueur d'ailleurs? – user3793589