Class MediaInfoBase<T extends MediaInfoBase>

java.lang.Object
com.amilesend.mediainfo.MediaInfoBase<T>
Type Parameters:
T - the concrete media info implementation type
All Implemented Interfaces:
AutoCloseable
Direct Known Subclasses:
MediaInfo

public abstract class MediaInfoBase<T extends MediaInfoBase> extends Object implements AutoCloseable
Base class for opening media files and accessing media information. Example usage:
// Extend to define which parameters to access for your java application
public class MyVideoMediaInfoType extends MediaInfoBase {
    public MyMediaInfoType(MediaInfoAccessor accessor) {
        super(accessor);
    }

    public List getVideoCodecs() {
        String codecsList = mediaInfo.get(StreamType.General, 0, "Video_Codec_List");
        return parseList(codecsList);
    }

    // Define additional accessor methods here...
}

MediaInfoLibrary library = MediaInfoLibrary.newInstance();
MediaInfoAccessor accessor = new MediaInfoAccessor(library);
try (MyVideoMediaInfoType myVideo = new MyVideoMediaInfoType(accessor).open("./MyVideo.mkv")) {
    List videoCodecs = myVideo.getVideoCodecs();

    // Access customized parameters accessor methods
}
  • Constructor Details

  • Method Details

    • open

      public T open(@NonNull File file) throws IOException
      Opens a file for analysis to parse media information.
      Parameters:
      file - the media file
      Returns:
      the analyzer to retrieve information
      Throws:
      IOException - if an error occurred while opening the media file
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
    • parseTime

      public static Instant parseTime(String time)
      Helper method used to parse timestamps.
      Parameters:
      time - the time as a String
      Returns:
      the parsed Instant, or null if the time value is blank
    • parseList

      public static List<String> parseList(String listValue)
      Helper method used to parse a list of values.
      Parameters:
      listValue - the value with a list of items
      Returns:
      the list of values