0
我想從加載到我的Video.js對象中的章節文件中獲取提示。我已經找到了如何獲得該曲目,但我需要它的id
才能訪問它。從VTT章節中獲取提示跟蹤Video.js
player.textTracks().getTrackById(<trackID>);
我發現其中id
在了Video.js 5.14.0庫中定義:
// video.js/dist/video.js (line 19195)
var trackProps = {
id: options.id || 'vjs_track_' + Guid.newGUID(),
kind: options.kind || '',
label: options.label || '',
language: options.language || ''
};
看來,你可以通過將對象的功能定義自己的id
:
// video.js/dist/video.js (line 19178)
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
我加載章節曲目如下:
<track kind="chapters" src="chapters.vtt" srclang="en" default>
我讀過你可以動態添加跟蹤文件,但你將不得不重新加載Video.js對象。
謝謝您的回答。 'textTracks'對象在使用console.log(vvplayer.textTracks());'時,即使能夠從控制檯的tracks_'屬性中看到我的軌道,也不會返回任何軌道項目。此屬性現在可能是私人的。 –
剛剛通過video.js 5.14.0和5.14.1測試過。這種方法適用於我,但是,當video.js就緒回調被調用時,它看起來像文本軌跡並不總是準備好,所以我不得不將代碼封裝在'loadedmetadata'事件的偵聽器中,這使得它可以可靠地工作至少對我來說。用那個更新了答案。 – Hyddan
非常感謝您的測試和您的質量答覆,我希望我有一個調試工具,提供有關異步調用的信息。 –