수색…


ExoPlayer를 프로젝트에 추가하십시오.

JCenter 경유

프로젝트의 build.gradle 파일에서 다음을 포함하여

compile 'com.google.android.exoplayer:exoplayer:rX.X.X'

여기서 rX.XX는 사용자가 선호하는 버전입니다. 최신 버전은 프로젝트의 릴리즈를 참조하십시오. 자세한 내용은 Bintray 의 프로젝트를 참조하십시오.

ExoPlayer 사용

ExoPlayer 인스턴스화 :

exoPlayer = ExoPlayer.Factory.newInstance(RENDERER_COUNT, minBufferMs, minRebufferMs);

오디오 만 재생하려면 다음 값을 사용할 수 있습니다.

RENDERER_COUNT = 1 //since you want to render simple audio
minBufferMs = 1000 
minRebufferMs = 5000

두 버퍼 값은 요구 사항에 따라 조정될 수 있습니다.

이제 DataSource를 만들어야합니다. mp3를 스트리밍하려면 DefaultUriDataSource를 사용할 수 있습니다. 컨텍스트와 UserAgent를 전달해야합니다. 간단하게 로컬 파일을 재생하고 null을 userAgent로 전달하려면 다음을 수행하십시오.

DataSource dataSource = new DefaultUriDataSource(context, null);

그런 다음 sampleSource를 만듭니다.

ExtractorSampleSource sampleSource = new ExtractorSampleSource(
                uri, dataSource, new Mp3Extractor(), RENDERER_COUNT, requestedBufferSize);

uri가 파일을 가리키고있는 경우 Extractor로 mp3를 재생하려면 간단한 기본 Mp3Extractor를 사용할 수 있습니다. requestedBufferSize는 요구 사항에 따라 다시 조정할 수 있습니다. 예를 들어 5000을 사용하십시오.

이제 다음과 같이 샘플 소스를 사용하여 오디오 트랙 렌더러를 만들 수 있습니다.

MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource);

마지막으로 exoPlayer 인스턴스에서 prepare를 호출하십시오.

exoPlayer.prepare(audioRenderer);

재생 전화를 시작하려면 다음을 수행하십시오.

exoPlayer.setPlayWhenReady(true);

표준 TrackRenderer 구현을 사용하여 비디오 및 오디오를 재생하는 주요 단계

// 1. Instantiate the player.
player = ExoPlayer.Factory.newInstance(RENDERER_COUNT);
// 2. Construct renderers.
MediaCodecVideoTrackRenderer videoRenderer = ...
MediaCodecAudioTrackRenderer audioRenderer = ...
// 3. Inject the renderers through prepare.
player.prepare(videoRenderer, audioRenderer);
// 4. Pass the surface to the video renderer.
player.sendMessage(videoRenderer, MediaCodecVideoTrackRenderer.MSG_SET_SURFACE,     surface);
// 5. Start playback.
player.setPlayWhenReady(true);
...
player.release(); // Don’t forget to release when done!


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow