我正在设置一个简单的基于 OSMF 的小型媒体播放器,并且连接了示例中的 org.osmf.captioning 插件。它与视频一起工作,但我也有音频文件可以播放字幕,而且它似乎对这些没有任何作用。
在最初的检查中,我在插件中看不到任何将它与特定类型的媒体联系起来的东西。我也找不到任何迹象表明用于字幕的时间线元数据仅与某些类型的媒体相关。
字幕插件是否支持音频播放?可能我设置不正确?
我正在设置一个简单的基于 OSMF 的小型媒体播放器,并且连接了示例中的 org.osmf.captioning 插件。它与视频一起工作,但我也有音频文件可以播放字幕,而且它似乎对这些没有任何作用。
在最初的检查中,我在插件中看不到任何将它与特定类型的媒体联系起来的东西。我也找不到任何迹象表明用于字幕的时间线元数据仅与某些类型的媒体相关。
字幕插件是否支持音频播放?可能我设置不正确?
我后来发现字幕插件使用 org.osmf.net.NetLoader 的“canHandleResource”方法来识别兼容媒体。这意味着仅支持视频类型。考虑到 OSMF 非常灵活的性质,这似乎是一种疏忽。似乎应该支持任何具有时间特征的东西。无论如何,我只是用一种更宽松的方法替换了该方法,嘿,很快,它就起作用了。有问题的代码位于定义 MediaFactoryItem 的 CaptioningPluginInfo 中。
var loader:NetLoader = new NetLoader();
var item:MediaFactoryItem = new MediaFactoryItem("org.osmf.captioning.CaptioningPluginInfo",
loader.canHandleResource,
createCaptioningProxyElement,
MediaFactoryItemType.PROXY);