在Javafx中从MediaPlayer传播事件
我创建了一个在Javafx中从MediaPlayer传播事件,java,events,javafx,propagation,Java,Events,Javafx,Propagation,我创建了一个mediaObject类,它有几个字符串实例(author、title、album、count;需要关于媒体的信息)和一个javafx.scene.media.MediaPlayer的实例。创建mediaObject是因为我需要附加到要播放的每个音乐文件的附加信息,而不是所有文件都在元数据中包含此信息。mediaObject Constructor获取mp3文件的文件路径,并从中创建其mediaPlayer实例 但是,现在我无法从主类中的mediaObject实例中识别播放器的状态。
mediaObject
类,它有几个字符串实例(author、title、album、count;需要关于媒体的信息)和一个javafx.scene.media.MediaPlayer的实例。创建mediaObject是因为我需要附加到要播放的每个音乐文件的附加信息,而不是所有文件都在元数据中包含此信息。mediaObject Constructor获取mp3文件的文件路径,并从中创建其mediaPlayer实例
但是,现在我无法从主类中的mediaObject
实例中识别播放器的状态。如何将事件从mediaPlayer
传播到mediaObject
正如我所说:
MediaPlayer myMediaPlayer = new MediaPlayer(myMedia);
myMediaPlayer.setOnReady((new Runnable() {
@Override
public void run() {
//Do something....
}});
我想在我的主类中调用mediaObject:
MediaObject myMediaObject = new MediaObject(filepath);
myMediaObject.setOnReady((new Runnable() {
@Override
public void run() {
//Do something....
}});
是否有一种有效的方式来做这件事,或者我应该考虑一种不同的方法吗?< /P>但是,我完全不理解你的问题,如果你只想把这个调用传播到<代码>媒体播放器,你就不能在代码< > MyAdObjult<代码>中创建一个<代码> StEndoRead(value)< /C> >方法,它只调用<代码> MyApPraveServ.StudioRead。(值)
?嗯,在自定义媒体对象中只使用媒体对象不是更好吗?为什么要创建这么多MediaPlayer?您只需要一个。这样一来,您就不会遇到来自MediaPlayer的事件问题