J'ai essayé de diffuser un URL
en utilisant ExoPlayer
. Les URL:Impossible d'obtenir getDuration() pour le fichier AAC en utilisant ExoPlayer
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"
jouent deux URL, mais je ne suis pas en mesure d'obtenir le getDuration()
pour STREAM_URL_2 qui est un fichier aac. Le .mp3 fonctionne.
Voici comment je le fais. Comment puis-je obtenir le getDuration()
pour la 2ème URL. Même seekTo()
ne fonctionne pas si getDuration()
ne fonctionne pas.
Quel changement dois-je faire? Dois-je changer un 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);
Oui, vous avez raison. La même chose est le problème avec ce fichier AAC aussi. Mais lorsque j'utilisais MediaPlayer, il était possible d'obtenir la durée et de chercher un emplacement. Comment cela peut-il être répliqué? –