- java.lang.Object
-
- javafx.scene.media.Media
-
public final class Media extends Object
Media
类代表媒体资源。 它是从源URI的字符串形式实例化的。 关于媒体的信息,例如持续时间,元数据,曲目和视频分辨率可以从Media
实例获得。 媒体信息是异步获取的,因此不一定可以在类实例化之后立即获得。 然而,如果实例已与MediaPlayer
相关联,并且该播放器已转换为MediaPlayer.Status.READY
状态,则所有信息都可用。 要添加元数据或Track
的通知,观察员可以分别注册getMetadata()
和getTracks()
返回的集合。相同的
Media
对象可以在多个MediaPlayer
对象之间共享。 这样的共享实例可以管理要由所有玩家使用的源媒体数据的单个副本,或者可能需要针对每个玩家的单独的数据副本。 然而,实现的选择不会对界面级别的玩家行为产生任何影响。- 从以下版本开始:
- JavaFX 2.0
- 另请参见:
-
MediaPlayer
,MediaException
-
-
Property Summary
Properties Type Property 描述 ReadOnlyObjectProperty<Duration>
duration
源介质的持续时间(以秒为单位)。ReadOnlyObjectProperty<MediaException>
error
发生错误时将属性设置为MediaException值。ReadOnlyIntegerProperty
height
源媒体的像素高度。ObjectProperty<Runnable>
onError
发生错误时调用事件处理程序。ReadOnlyIntegerProperty
width
源媒体的像素宽度。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 ReadOnlyObjectProperty<Duration>
durationProperty()
源介质的持续时间(以秒为单位)。ReadOnlyObjectProperty<MediaException>
errorProperty()
发生错误时将属性设置为MediaException值。Duration
getDuration()
检索介质的持续时间(以秒为单位)。MediaException
getError()
返回媒体中遇到的任何错误。int
getHeight()
检索媒体的像素高度。ObservableMap<String,Duration>
getMarkers()
检索此Media
实例上定义的标记。ObservableMap<String,Object>
getMetadata()
检索此媒体源中包含的元数据。Runnable
getOnError()
如果发生错误,则检索要调用的错误处理程序。String
getSource()
检索媒体的源URI。ObservableList<Track>
getTracks()
检索此媒体源中包含的曲目。int
getWidth()
检索媒体的像素宽度。ReadOnlyIntegerProperty
heightProperty()
源媒体的像素高度。ObjectProperty<Runnable>
onErrorProperty()
发生错误时调用事件处理程序。void
setOnError(Runnable value)
设置发生错误时调用的事件处理程序。ReadOnlyIntegerProperty
widthProperty()
源媒体的像素宽度。
-
-
-
Property Detail
-
error
public ReadOnlyObjectProperty<MediaException> errorProperty
- 另请参见:
-
getError()
-
onError
public ObjectProperty<Runnable> onErrorProperty
发生错误时调用事件处理程序。 如果格式错误或无效的URL传递给构造函数或访问URL时出现问题,则会发生这种情况。- 另请参见:
-
getOnError()
,setOnError(Runnable)
-
width
public ReadOnlyIntegerProperty widthProperty
源媒体的像素宽度。 如果媒体没有宽度,例如播放音频时,或如果流媒体可能会出现宽度当前未知,则可能为零。- 另请参见:
-
getWidth()
-
height
public ReadOnlyIntegerProperty heightProperty
源媒体的像素高度。 如果媒体没有高度,例如播放音频时,或如果当前未知的高度可能会与流媒体有关,则这可能为零。- 另请参见:
-
getHeight()
-
duration
public ReadOnlyObjectProperty<Duration> durationProperty
源介质的持续时间(以秒为单位)。 如果媒体持续时间未知,则此属性值将为Duration.UNKNOWN
。- 另请参见:
-
getDuration()
-
-
构造方法详细信息
-
Media
public Media(String source)
构造一个Media
实例。 这是指定媒体源的唯一方法。 来源必须代表有效的URI
并且是不可变的。 只支持HTTP,HTTPS,FILE和JARURL
。 如果提供的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()
返回媒体中遇到的任何错误。- 结果
-
一个
MediaException
或null
如果没有错误。
-
errorProperty
public ReadOnlyObjectProperty<MediaException> errorProperty()
- 另请参见:
-
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()
-
getDuration
public final Duration getDuration()
检索介质的持续时间(以秒为单位)。- 结果
-
媒体持续时间
Duration.UNKNOWN
如果未知,或Duration.INDEFINITE
的直播流
-
durationProperty
public ReadOnlyObjectProperty<Duration> durationProperty()
源介质的持续时间(以秒为单位)。 如果媒体持续时间未知,则此属性值将为Duration.UNKNOWN
。- 另请参见:
-
getDuration()
-
getTracks
public final ObservableList<Track> getTracks()
检索此媒体源中包含的曲目。 如果没有轨道,返回的ObservableList
将为空。- 结果
- 该媒体源中包含的曲目。
-
getMarkers
public final ObservableMap<String,Duration> getMarkers()
- 结果
- 在此媒体源上定义的标记。
-
-