Trước hết nhanh chóng ExoPlayer của bạn với dòng này:
exoPlayer = ExoPlayer.Factory.newInstance(RENDERER_COUNT, minBufferMs, minRebufferMs);
Nếu bạn muốn chơi âm thanh duy nhất mà bạn có thể sử dụng các giá trị:
RENDERER_COUNT = 1 //since you want to render simple audio
minBufferMs = 1000
minRebufferMs = 5000
Cả hai giá trị đệm có thể được tinh chỉnh theo của bạn yêu cầu
Bây giờ bạn phải tạo một nguồn dữ liệu. Khi bạn muốn phát mp3, bạn có thể sử dụng DefaultUriDataSource. Bạn phải vượt qua bối cảnh và một UserAgent. Để giữ cho nó đơn giản chơi một tập tin địa phương và thông qua null như UserAgent:
DataSource dataSource = new DefaultUriDataSource(context, null);
Sau đó tạo các sampleSource:
ExtractorSampleSource sampleSource = new ExtractorSampleSource(
uri, dataSource, new Mp3Extractor(), RENDERER_COUNT, requestedBufferSize);
điểm uri đến tập tin của bạn, như là một Extractor bạn có thể sử dụng một Mp3Extractor mặc định đơn giản nếu bạn muốn chơi mp3. requestBufferSize có thể được tinh chỉnh lại theo yêu cầu của bạn. Sử dụng 5000 ví dụ.
Bây giờ bạn có thể tạo track renderer âm thanh của bạn bằng cách sử dụng mã nguồn mẫu như sau:
MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource);
Cuối cùng gọi chuẩn bị về dụ ExoPlayer của bạn:
exoPlayer.prepare(audioRenderer);
Để bắt đầu cuộc gọi phát lại:
exoPlayer.setPlayWhenReady(true);
Cảm ơn bạn rất nhiều vì bình luận của bạn, Exoplayer là một tài sản tuyệt vời cho android tuy nhiên tại thời điểm này, bạn có thể bắt đầu ở lại cho đến khi họ biết rõ hơn! Tôi có một câu hỏi khác mà tôi vừa hỏi liên quan đến người chơi mà tôi sẽ yêu một số đầu vào nếu bạn cảm thấy bạn có thể giúp với điều đó! cảm ơn! –
Siêu, nhưng làm thế nào để bạn hiển thị video? Với VideoView? .. Nevermind, chỉ tìm thấy https://github.com/brianwernick/ExoMedia/ – Stephane
@MaxMarshall và mismor Làm thế nào tôi có thể chơi một tập tin aac? Vậy thì Extractor là gì? –