을 사용하여 URL
을 스트리밍하려고했습니다. 의 URL :ExoPlayer를 사용하여 AAC 파일에 대한 getDuration()을 가져올 수 없습니다.
STREAM_URL_1 = "http://storage.googleapis.com/exoplayer-test-media-0/play.mp3"
STREAM_URL_2 = "https://s3-ap-southeast-1.amazonaws.com/ok.talk.channels/zakirkhan/Zakir+khan+-+when+my+father+took+my+gf%27s+call.aac"
두 URL을 연주하지만 내가는 .aac 파일입니다 STREAM_URL_2에 대한 getDuration()
을 얻을 수 없습니다입니다. .mp3가 작동합니다.
다음은 어떻게 사용합니까? 두 번째 URL에 대해 getDuration()
을 얻으려면 어떻게해야합니까? getDuration()
이 작동하지 않으면 seekTo()
도 작동하지 않습니다.
어떤 변경을해야합니까? Extractor
을 변경해야합니까?
player = ExoPlayer.Factory.newInstance(RENDERER_COUNT, MIN_BUFFER_MS, MIN_RE_BUFFER_MS);
playerControl = new PlayerControl(player);
Allocator allocator = new DefaultAllocator(BUFFER_SEGMENT_SIZE);
private static final String STREAM_URL = "http://storage.googleapis.com/exoplayer-test-media-0/play.mp3";
uri = Uri.parse(STREAM_URL);
// Build the video and audio renderers.
DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter(player.getMainHandler(),
null);
String userAgent = Util.getUserAgent(this, "MyMediaPlayer");
DataSource dataSource = new DefaultUriDataSource(context, bandwidthMeter, userAgent, true);
ExtractorSampleSource sampleSource = new ExtractorSampleSource(uri, dataSource, allocator,
BUFFER_SEGMENT_COUNT * BUFFER_SEGMENT_SIZE);
MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource,
null, true);
// Invoke the callback.
TrackRenderer[] renderers = new TrackRenderer[1];
renderers[RadioPlayer.TYPE_AUDIO] = audioRenderer;
player.prepare(renderers);
player.seekTo(0);
player.setPlayWhenReady(true);
예, 당신 말이 맞습니다. AAC 파일에서도 마찬가지입니다. 그러나,'MediaPlayer'를 사용할 때, 존속 기간과 위치 찾기를 모두 할 수있었습니다. 어떻게 복제 될 수 있습니까? –