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