我目前正在重构我的网络播放器,以便我们能够更轻松地在其他互联网广播电台上运行它。这些播放器之间的大部分设置将非常相似,但是,有些需要具有不同的 UI 插件/其他插件。
目前在网络播放器中,我在它的 init() 中做了这样的事情:
_this.ui = 新 UI();
_this.ui.playlist = new Playlist();
_this.ui.channelDropdown = new ChannelDropdown();
_this.ui.timecode = ne Timecode();
等等等等
这很好用,但这阻止了我在运行时需要这些对象。我想做的是能够根据电台的需要添加那些。基本上我的问题是,我需要在这里添加某种“addPlugin()”功能吗?如果我这样做,我是否需要在尝试使用该插件之前不断检查我的 WebPlayer 对象是否存在该插件?喜欢...
if (_hasPlugin('playlist')) this.plugins.playlist.add(track);
如果其中一些可能不清楚,我深表歉意......真的试图让我的头脑围绕所有这些。我觉得我更近了,但我仍然卡住了。任何关于我应该如何进行的建议将不胜感激。
提前致谢,
李