当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript api.findVideoMeta方法代码示例

本文整理汇总了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('视频路径不可为空');
	}
});
开发者ID:rpdg,项目名称:fy.js,代码行数:94,代码来源:collect.ts


注:本文中的ts/opg.api.findVideoMeta方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。