0

exoplayer 버전 rc2.x.x로 Android 라디오 서비스를 스트리밍하고 싶습니다.Android : exoplayer 2.x.x를 사용하여 라디오 링크를 스트리밍하는 방법

나는 온라인에서 할 수있는 모든 튜토리얼을 배우려고 노력하고 있지만, 모두 2.x.x 버전 이전이며 많은 비디오 스트리밍 관련 (필자는 필요 없음)입니다.

누구나 아주 좋은 튜토리얼을 가지고 있습니까?

+0

을 왜 전혀 ExoPlayer를 사용 하시겠습니까? –

+0

Mediaplayer는 실제로 제한되어 있으며 한 장치에서 다른 장치로 많은 호환성 문제가 발생했습니다. Google은 심지어 Exoplayer를 내가 아는 한 최대한 사용하기를 권합니다. – user3793589

답변

5

나는 ExoPlayer에 대한 깊은 지식이 없지만 mp3 링크를 스트리밍 할 수있는이 코드 스 니펫을 준비했습니다.

EXO 플레이어적인 버전 : 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); 

    } 

이 링크는 또한 도움이 될 수 있습니다 : https://medium.com/@emuneee/migrating-from-exoplayer-1-x-to-2-0-58fbda36b46c#.b8joifc36

+0

감사합니다. 이것은 효과가 있었다. 그럼에도 불구하고 메소드 외부에 exoPlayer 변수의 참조를 유지하려고 시도하면 (exoPlayer 변수를 전역 변수로 변경) 더 이상 작동하지 않습니다. 어떤 생각? – user3793589

+0

예외가 발생합니까? –

+0

아니요, 하나도 얻지 못하고 있습니다. exoplayer 변수를 내 Service 클래스의 전역 변수로 선언 할 때 아무 것도 작동하지 않습니다. 귀하의 변수를 지역으로 선언 했으므로 귀하의 경우에 귀하의 플레이어를 어떻게 중단합니까? – user3793589