Unable to get Metadata form video using exoplayer without playback

Viewed 139

I am trying to get video metadata using exoplayer without playback as mentioned in document

when i try to run i cannot get list of audio track and subtitle track from local video file.

MediaItem mediaItem = MediaItem.fromUri(videoUrl);
    ListenableFuture<TrackGroupArray> trackGroupsFuture = MetadataRetriever.retrieveMetadata(this, mediaItem);
    Futures.addCallback(trackGroupsFuture, new FutureCallback<TrackGroupArray>() {
                @Override
                public void onSuccess(TrackGroupArray trackGroups) {
                    for(int i = 0; i < trackGroups.length; i++){
                        String format = trackGroups.get(i).getFormat(0).sampleMimeType;
                        String lang = trackGroups.get(i).getFormat(0).language;
                        String id = trackGroups.get(i).getFormat(0).id;

                        if(format.contains("audio") && id != null && lang != null){
                            Log.d(TAG, "onSuccess: " + lang + " " + id);
                        }
                    }
                }

                @Override
                public void onFailure(Throwable t) {
                    //handleFailure(t);
                    Log.d(TAG, "onFailure: " + t);
                }
            }, executor);

can someone help. How can I get list of tracks available in a video.

here is a sample video link https://storage.googleapis.com/jlplayer/Dolittle.mkv

for example the above sample video contains a english subtitle a hindi audio track and english audio track. So how do i extract those track ?

0 Answers
Related