Module  javafx.media
软件包  javafx.scene.media

Class Media



  • public final class Media
    extends Object
    Media类代表媒体资源。 它是从源URI的字符串形式实例化的。 关于媒体的信息,例如持续时间,元数据,曲目和视频分辨率可以从Media实例获得。 媒体信息是异步获取的,因此不一定可以在类实例化之后立即获得。 然而,如果实例已与MediaPlayer相关联,并且该播放器已转换为MediaPlayer.Status.READY状态,则所有信息都可用。 要添加元数据或Track的通知,观察员可以分别注册getMetadata()getTracks()返回的集合。

    相同的Media对象可以在多个MediaPlayer对象之间共享。 这样的共享实例可以管理要由所有玩家使用的源媒体数据的单个副本,或者可能需要针对每个玩家的单独的数据副本。 然而,实现的选择不会对界面级别的玩家行为产生任何影响。

    从以下版本开始:
    JavaFX 2.0
    另请参见:
    MediaPlayerMediaException
    • Property Detail

      • error

        public ReadOnlyObjectProperty<MediaException> errorProperty
        发生错误时将属性设置为MediaException值。 如果error是非null ,则介质无法加载,不可用。 如果onError为非null ,则在设置error属性时将调用它。
        另请参见:
        getError()
      • width

        public ReadOnlyIntegerProperty widthProperty
        源媒体的像素宽度。 如果媒体没有宽度,例如播放音频时,或如果流媒体可能会出现宽度当前未知,则可能为零。
        另请参见:
        getWidth()
      • height

        public ReadOnlyIntegerProperty heightProperty
        源媒体的像素高度。 如果媒体没有高度,例如播放音频时,或如果当前未知的高度可能会与流媒体有关,则这可能为零。
        另请参见:
        getHeight()
    • 构造方法详细信息

      • Media

        public Media​(String source)
        构造一个Media实例。 这是指定媒体源的唯一方法。 来源必须代表有效的URI并且是不可变的。 只支持HTTP,HTTPS,FILE和JAR URL 如果提供的URL无效,则会抛出异常。 如果发生异步错误,将会设置error属性。 听这个属性被通知任何这样的错误。

        如果源使用非阻塞协议(如FILE),那么立即可以检测到的任何问题将导致抛出MediaException 这些问题包括媒体无法访问或不受支持的格式。 然而,如果使用了诸如HTTP之类的潜在的阻塞协议,则连接将被异步初始化,以便通过设置error属性来发出这些错误信号。

        约束:

        • 提供的URI必须符合java.net.URI要求的RFC-2396。
        • 只支持HTTP,HTTPS,FILE和JAR URI。

        有关URI格式的更多信息,请参阅java.net.URI JAR URL语法在java.net.JarURLConnection中指定。

        参数
        source - 源媒体的URI。
        异常
        NullPointerException - 如果URI字符串是 null
        IllegalArgumentException - 如果URI字符串不符合RFC-2396或(如果适用)Jar URL规范,或者是不符合SSL规定的表单,不能修改为兼容表单。
        IllegalArgumentException - 如果URI字符串具有 null方案。
        UnsupportedOperationException - 如果不支持为源指定的协议。
        MediaException - 如果无法连接媒体源(类型 MediaException.Type.MEDIA_INACCESSIBLE )或不支持(类型 MediaException.Type.MEDIA_UNSUPPORTED )。
    • 方法详细信息

      • getError

        public final MediaException getError​()
        返回媒体中遇到的任何错误。
        结果
        一个MediaExceptionnull如果没有错误。
      • errorProperty

        public ReadOnlyObjectProperty<MediaException> errorProperty​()
        发生错误时将属性设置为MediaException值。 如果error为非null ,则介质无法加载且不可用。 如果onError是非null ,则在设置error属性时将被调用。
        另请参见:
        getError()
      • setOnError

        public final void setOnError​(Runnable value)
        设置发生错误时调用的事件处理程序。
        参数
        value - 错误事件处理程序。
      • getOnError

        public final Runnable getOnError​()
        如果发生错误,则检索要调用的错误处理程序。
        结果
        错误处理程序或 null如果没有定义)。
      • onErrorProperty

        public ObjectProperty<Runnable> onErrorProperty​()
        发生错误时调用事件处理程序。 如果格式错误或无效的URL传递给构造函数或访问URL时出现问题,则会发生这种情况。
        另请参见:
        getOnError()setOnError(Runnable)
      • getMetadata

        public final ObservableMap<String,Object> getMetadata​()
        检索此媒体源中包含的元数据。 如果没有元数据,则返回的ObservableMap将为空。
        结果
        该媒体源中包含的元数据。
      • getWidth

        public final int getWidth​()
        检索媒体的像素宽度。
        结果
        介质宽度或如果宽度未定义或未知,则为零。
      • widthProperty

        public ReadOnlyIntegerProperty widthProperty​()
        源媒体的像素宽度。 如果媒体没有宽度,例如播放音频时,或如果流媒体可能会出现宽度当前未知,则可能为零。
        另请参见:
        getWidth()
      • getHeight

        public final int getHeight​()
        检索媒体的像素高度。
        结果
        介质高度或零,如果高度未定义或未知。
      • heightProperty

        public ReadOnlyIntegerProperty heightProperty​()
        源媒体的像素高度。 如果媒体没有高度,例如播放音频时,或如果当前未知的高度可能会与流媒体有关,则这可能为零。
        另请参见:
        getHeight()
      • getTracks

        public final ObservableList<Track> getTracks​()
        检索此媒体源中包含的曲目。 如果没有轨道,返回的ObservableList将为空。
        结果
        该媒体源中包含的曲目。
      • getMarkers

        public final ObservableMap<String,Duration> getMarkers​()
        检索此Media实例上定义的标记。 如果没有标记,返回的ObservableMap将为空。 可以通过在返回的Map插入条目来添加编程标记。
        结果
        在此媒体源上定义的标记。
      • getSource

        public String getSource​()
        检索媒体的源URI。
        结果
        媒体源URI为String