本文整理汇总了TypeScript中ts/opg.api.findVideoMeta方法的典型用法代码示例。如果您正苦于以下问题:TypeScript api.findVideoMeta方法的具体用法?TypeScript api.findVideoMeta怎么用?TypeScript api.findVideoMeta使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ts/opg.api
的用法示例。
在下文中一共展示了api.findVideoMeta方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: function
$('#btnUpFilePath').click(function () {
let mediaPath = iptVideoFile.val();//.replace(/\\/g , '/');
if (mediaPath) {
opg.api.findVideoMeta({mediaPath}, (data) => {
cachedMediaPath = mediaPath;
streams = data.streams;
//
let streamsHash = {}, streamHtml: string = '';
streams.map((stream, i) => {
let type = stream['codec_type'];
let entry = streamsHash[type];
if (!entry) {
streamsHash[type] = [stream];
}
else {
entry.push(stream);
}
streamHtml += `<table class="search-table" style="margin-bottom: 2em; "><tbody>`;
for (let key in stream) {
streamHtml += `<tr><td class="lead">${key}</td><td>${stream[key]}</td></tr>`
}
streamHtml += `</tbody></table>`;
});
//视频
let videoArr = streamsHash['video']||[];
videoArr.forEach((item) => {
item.title = item.title ? item.title : (item.language ? item.language : item.index);
});
opg('#videoTrack').listBox({
data: videoArr,
text: 'title',
value: 'index',
autoPrependBlank: false,
onSelect : function () {
videoFrames = this.selectedData.frames;
}
});
//音频
let audioArr = streamsHash['audio']||[];
audioArr.forEach((item) => {
item.title = item.title ? item.title : (item.language ? item.language : item.index);
});
opg('#audioTrack').listBox({
data: audioArr,
text: 'title',
value: 'index',
autoPrependBlank: false,
});
//字幕
let subtitleArr = streamsHash['subtitle']||[];
subtitleArr.forEach((item) => {
item.title = item.title ? item.title : (item.language ? item.language : item.index);
});
opg('#subtitleTrack').listBox({
data: subtitleArr,
text: 'title',
value: 'index',
autoPrependBlank: false,
});
//详情
let tdDetails = $('#tdDetails');
let aExpand = $('#aExpand').click(function () {
let a = $(this);
if (a.hasClass('expanded')) {
$(this).removeClass('expanded').text('(展开)');
tdDetails.html('<span class="text-light-gray">详情已折叠,点击展开 ...</span>');
}
else {
$(this).addClass('expanded').text('(收起)');
tdDetails.html(streamHtml);
}
});
tdDetails.on('click', '.text-light-gray', function () {
aExpand.trigger('click');
});
//duration
if(data.format && data.format.duration)
duration = data.format.duration ;
$('#tbdProfile').show();
});
}
else {
iptVideoFile.iptError('视频路径不可为空');
}
});