仓颉语言接入 ohos.multimedia.media 媒体服务:AVImageGenerator 视频缩略图获取实战指南
文档知识库教程OpenHarmony【免费下载链接】CangjieCorpus本仓库为仓颉编程语言语料库聚焦 仓颉编程语言 核心知识体系整合官方开发指南、API 文档、典型代码示例及语法规范等多维度资源经结构化处理与专业标注构建为支持 RAG检索增强生成技术 的高质量知识基座适配智能编码助手、学习辅助工具等应用开发需求。 欢迎开发者基于本语料库构建仓颉语言智能应用推动鸿蒙开发生态智能化升级项目地址https://gitcode.com/Cangjie/CangjieCorpus点击查看免费下载导读ohos.multimedia.media媒体服务是 OpenHarmony 媒体子系统的核心仓颉 API 模块为开发者提供一套简单且易于理解的接口方便应用接入系统媒体资源。本指南聚焦其中与视频缩略图获取强相关的能力——AVImageGenerator视频缩略图生成器系统讲解从创建实例、描述媒体文件、按时间点抓帧到释放资源的完整调用链并结合 CangjieCorpus 仓库中的错误码文档与关联 Kit 源码帮助读者在仓颉模板工程中快速落地从任意时间点截取视频帧的实战方案。一、模块概览媒体子系统与 AVImageGenerator 的定位媒体子系统包含音视频相关媒体业务ohos.multimedia.media模块为开发者提供接入系统媒体资源的能力。在仓颉侧该模块当前以Beta 特性形式提供见 Media Kit 模块说明其中与本文主题直接相关的常用功能是获取视频缩略图AVImageGeneratorAVImageGenerator是一个典型的同步抓帧器开发者向它描述一段媒体文件文件句柄 偏移量 长度指定目标时间点与取帧策略即可获得对应的PixelMap缩略图。这一能力在视频列表封面、视频剪辑预览、短视频应用等场景中非常实用。二、开发前置准备2.1 导入模块在仓颉代码中通过 Kit 导入方式引入媒体能力import kit.MediaKit.*Kit 封装了同一 Kit 下各接口模块开发者通过导入MediaKit即可使用AVImageGenerator、AVFileDescriptor、PixelMapParams、AVImageQueryOptions等接口关于 Kit 导入机制的说明可参考 开发说明。2.2 权限列表调用本模块接口需要申请权限ohos.permission.MICROPHONE需要在应用配置文件如module.json5中声明该权限并遵守应用运行时权限申请流程。2.3 示例工程使用说明文档中的 API 示例代码遵循以下约定详见仓颉示例代码说明若示例代码首行有// index.cj注释表示该示例可在仓颉模板工程的index.cj文件中直接编译运行若示例需获取 Context 应用上下文需在仓颉模板工程中的main_ability.cj文件中进行配置获取当前应用沙箱所在路径可通过 UIAbilityContext.filesDir 获取。三、核心调用链总览视频缩略图获取的完整生命周期包含四个步骤创建实例调用createAVImageGenerator()构建AVImageGenerator描述数据源构造AVFileDescriptor并赋给generator.fdSrc按时间抓帧调用fetchFrameByTime()获取PixelMap缩略图释放资源调用release()释放底层资源。下面逐一展开。四、创建实例func createAVImageGenerator()public func createAVImageGenerator(): AVImageGenerator功能创建AVImageGenerator实例。系统能力SystemCapability.Multimedia.Media.AVImageGenerator起始版本22返回值类型说明AVImageGenerator返回AVImageGenerator实例。异常BusinessException对应错误码如下表详见 Media 错误码。错误码 ID错误信息5400101No memory.示例可在 index.cj 中编译运行// index.cj import kit.MediaKit.* import kit.PerformanceAnalysisKit.* import ohos.business_exception.BusinessException try { let generator createAVImageGenerator() } catch (e: BusinessException) { Hilog.error(0, AppLogCj, e.message) }五、描述媒体数据源class AVFileDescriptorAVFileDescriptor是音视频文件资源描述类型对应一种特殊资源的播放方式当应用中的音频/视频资源被连续存储在同一个文件中时需要根据偏移量和长度进行播放或抓帧。public class AVFileDescriptor { public var fd: Int32 public var offset: Int64 public var length: Int64 public init( fd: Int32, offset!: Int64 0, length!: Int64 -1 ) }系统能力SystemCapability.Multimedia.Media.Core起始版本225.1 var fd资源句柄public var fd: Int32功能资源句柄。类型Int32读写能力可读写该句柄有两种典型获取方式通过 getRawFd 获取 HAP 内置 rawfile 资源的文件描述符返回 RawFileDescriptor其包含fd、offset、length三个字段通过 open 打开应用沙箱内的文件获得句柄默认以OpenMode.READ_ONLY只读方式打开。5.2 var offset资源偏移量public var offset: Int64功能资源偏移量默认值为0。类型Int64读写能力可读写需要基于预置资源的信息输入非法值会造成音视频资源解析错误。5.3 var length资源长度public var length: Int64功能资源长度默认值为文件中从偏移量开始的剩余字节。类型Int64读写能力可读写需要基于预置资源的信息输入非法值会造成音视频资源解析错误。5.4 init(Int32, Int64, Int64)public init( fd: Int32, offset!: Int64 0, length!: Int64 -1 )参数说明参数名类型必填默认值说明fdInt32是-资源句柄通过 getRawFd 获取也可以通过 open 获取。offsetInt64否0命名参数。资源偏移量需要基于预置资源的信息输入非法值会造成音视频资源解析错误。lengthInt64否-1命名参数。资源长度默认值为文件中从偏移量开始的剩余字节需要基于预置资源的信息输入非法值会造成音视频资源解析错误。六、抓帧核心类class AVImageGeneratorpublic class AVImageGenerator {}功能视频缩略图获取类用于从视频资源中获取缩略图。在调用AVImageGenerator的方法前需要先通过 createAVImageGenerator() 构建一个AVImageGenerator实例。系统能力SystemCapability.Multimedia.Media.AVImageGenerator起始版本226.1 prop fdSrc媒体文件描述public mut prop fdSrc: AVFileDescriptor功能媒体文件描述通过该属性设置数据源。类型AVFileDescriptor读写能力可读写系统能力SystemCapability.Multimedia.Media.AVMetadataExtractor使用示例假设一个连续存储的媒体文件地址偏移为 0、字节长度为 100则其文件描述为AVFileDescriptor { fd 资源句柄; offset 0; length 100; }说明重要将资源句柄fd传递给AVImageGenerator实例之后不允许通过该资源句柄再执行其他读写操作包括但不限于将同一个资源句柄传递给多个AVPlayer/AVMetadataExtractor/AVImageGenerator/AVTranscoder。同一时间通过同一个资源句柄读写文件时存在竞争关系将导致视频缩略图数据获取异常。异常BusinessException错误码如下表。错误码 ID错误信息5400101No memory.5400102Operation not allowed.6.2 func fetchFrameByTime(Int64, AVImageQueryOptions, PixelMapParams)public func fetchFrameByTime(timeUs: Int64, options: AVImageQueryOptions, param: PixelMapParams): PixelMap功能获取视频缩略图。系统能力SystemCapability.Multimedia.Media.AVImageGenerator起始版本22参数说明参数名类型必填默认值说明timeUsInt64是-需要获取的缩略图在视频中的时间点单位为微秒μs。optionsAVImageQueryOptions是-需要获取的缩略图时间点与视频帧的对应关系。paramPixelMapParams是-需要获取的缩略图的格式参数。返回值类型说明PixelMap视频缩略图。返回的 PixelMap 是图像像素类可用于读取或写入图像数据以及获取图像信息例如进一步交给 Image Kit 进行编码保存注意其序列化大小存在上限见 Image Kit 文档说明。异常BusinessException错误码如下表。错误码 ID错误信息5400101No memory.5400102Operation not allowed.5400106Unsupported format.完整示例可在 index.cj 中编译运行// index.cj import kit.MediaKit.* import kit.LocalizationKit.* import ohos.business_exception.BusinessException import kit.PerformanceAnalysisKit.Hilog try { let timeUs 0 let queryOption AVImageQueryOptions.AvImageQueryNextSync let param PixelMapParams(width: 300, height: 300) let generator createAVImageGenerator() let abilityContext Global.abilityContext // 此处需手动配置模板获取Context上下文。上下文获取方式请参见使用说明。 let rawFd abilityContext.resourceManager.getRawFd(trailer.mp4) // 请替换您的资源路径获取文件路径参考本文使用说明 generator.fdSrc AVFileDescriptor(rawFd.fd, offset: rawFd.offset, length: rawFd.length) let pic generator.fetchFrameByTime(timeUs, queryOption, param) generator.release() } catch (e: BusinessException) { Hilog.info(0, test, ${e.message}) }6.3 func release()public func release(): Unit功能释放资源。系统能力SystemCapability.Multimedia.Media.AVImageGenerator起始版本22异常BusinessException错误码如下表。错误码 ID错误信息5400101No memory.示例可在 index.cj 中编译运行// index.cj import kit.MediaKit.* import kit.LocalizationKit.* import kit.PerformanceAnalysisKit.* import ohos.business_exception.BusinessException try { let timeUs 0 let queryOption AVImageQueryOptions.AvImageQueryNextSync let param PixelMapParams(width: 300, height: 300) let generator createAVImageGenerator() let abilityContext Global.abilityContext // 此处需手动配置模板获取Context上下文。上下文获取方式请参见使用说明。 let rawFd abilityContext.resourceManager.getRawFd(trailer.mp4) generator.fdSrc AVFileDescriptor(rawFd.fd, offset:rawFd.offset, length:rawFd.length) let pic generator.fetchFrameByTime(timeUs, queryOption, param) generator.release() } catch (e: BusinessException) { Hilog.error(0, AppLogCj, e.message) }release()是实例生命周期的收尾动作与createAVImageGenerator()成对使用尤其在反复创建实例、频繁抓帧的场景下及时释放可避免句柄与内存资源占用。七、输出格式参数class PixelMapParamsPixelMapParams用于描述获取视频缩略图时输出缩略图的格式参数。public class PixelMapParams { public var width: Int32 public var height: Int32 public init(width!: Int32 -1, height!: Int32 -1) }系统能力SystemCapability.Multimedia.Media.AVImageGenerator起始版本227.1 var width / var heightpublic var width: Int32 public var height: Int32功能width输出的缩略图宽度应保证大于 0 且不大于原始视频宽度否则返回的缩略图不会进行缩放height输出的缩略图高度应保证大于 0 且不大于原始视频高度否则返回的缩略图不会进行缩放。类型Int32读写能力可读写7.2 init(Int32, Int32)public init(width!: Int32 -1, height!: Int32 -1)参数说明参数名类型必填默认值说明widthInt32否-1命名参数。输出的缩略图宽度。应保证大于 0 且不大于原始视频宽度否则返回的缩略图不会进行缩放。heightInt32否-1命名参数。输出的缩略图高度。应保证大于 0 且不大于原始视频高度否则返回的缩略图不会进行缩放。八、取帧策略枚举enum AVImageQueryOptions在获取视频缩略图时传入的时间点与实际取得的视频帧所在时间点不一定相等因此需要指定传入时间点与实际取得的视频帧的时间关系。AVImageQueryOptions即用于描述这一对应关系。public enum AVImageQueryOptions : EquatableAVImageQueryOptions ToString { | AvImageQueryNextSync | AvImageQueryPreviousSync | AvImageQueryClosestSync | AvImageQueryClosest | ... }系统能力SystemCapability.Multimedia.Media.AVImageGenerator起始版本22父类型EquatableAVImageQueryOptionsToString8.1 枚举取值语义取值功能AvImageQueryClosest表示选取离传入时间点最近的帧该帧不一定是关键帧。AvImageQueryClosestSync表示选取离传入时间点最近的关键帧。AvImageQueryNextSync表示选取传入时间点或之后的关键帧。AvImageQueryPreviousSync表示选取传入时间点或之前的关键帧。实际应用中若追求又快又稳的封面图通常选用AvImageQueryNextSync或AvImageQueryClosestSync只取关键帧解码开销小、成功率高若对时间点精度要求高、需要逐帧呈现画面内容则可选用AvImageQueryClosest。8.2 运算符与字符串化枚举通过实现EquatableAVImageQueryOptions与ToString提供了三个成员方法public operator func (other: AVImageQueryOptions): Bool public operator func !(other: AVImageQueryOptions): Bool public func toString(): String(other)比较两个AVImageQueryOptions是否相等相等返回true否则返回false!(other)比较两个AVImageQueryOptions是否不等不等返回true否则返回falsetoString()返回AVImageQueryOptions的字符串表示便于日志输出与调试。九、异常与错误码速查ohos.multimedia.media相关接口抛出的BusinessException对应 Media 特有错误码完整定义见 Media 错误码。其中与 AVImageGenerator 直接相关的错误码如下9.1 5400101 内存分配失败No memory.可能原因① 实例数量超过 16 个②new或malloc流程失败导致空指针。处理步骤销毁当前实例并重新创建如果重新创建失败则停止相关操作。9.2 5400102 当前状态机不支持此操作Operation not allowed.可能原因当前状态机不支持该操作。处理步骤确认当前状态是否支持当前操作把实例切换到正确的状态后再执行正确操作。9.3 5400106 不支持的规格Unsupported format.可能原因不支持的文件或格式。处理步骤当前使用的格式规格不支持需切换为支持的规格。除上述特有错误码外通用错误码请参考通用错误码说明文档。十、数据源获取路径深入rawfile 与沙箱文件前文示例通过abilityContext.resourceManager.getRawFd(trailer.mp4)获取内置资源的句柄这是最常用的数据源获取方式。围绕这一环节仓库中相关 Kit 提供了两类路径方式一rawfile 内置资源getRawFd(String)获取resources/rawfile目录下 rawfile 文件所在 HAP 的文件描述符返回 RawFileDescriptor含fd、offset、length三字段恰好与AVFileDescriptor一一对应可直接透传注意getRawFd获取的 fd 使用完毕后需调用closeRawFd关闭避免资源泄露。方式二应用沙箱文件先通过 UIAbilityContext.filesDir 取得应用沙箱目录路径再通过 open(path, mode) 打开文件获取File对象及对应句柄之后填充AVFileDescriptor的fd、offset、length字段。十一、实战要点汇总生命周期完整createAVImageGenerator()→ 设置fdSrc→fetchFrameByTime()→release()四步缺一不可时间单位fetchFrameByTime的timeUs单位为微秒如取视频开头帧传入0即可输出尺寸PixelMapParams的宽高需大于 0 且不超过原始视频宽高否则不缩放示例中width: 300, height: 300即为典型的封面缩略图尺寸fd 独占性句柄传给AVImageGenerator后不得再用于其他读写或传给其他媒体组件否则可能因竞争导致缩略图数据异常异常兜底所有调用均建议使用try/catch捕获BusinessException并按错误码5400101/5400102/5400106执行销毁重建或规格切换策略工程落地示例代码需放入仓颉模板工程的index.cj涉及Global.abilityContext的需在main_ability.cj中配置Context上下文具体可参考仓颉示例代码说明。通过以上步骤开发者即可在仓颉应用中稳定获取视频任意时间点的缩略图为视频列表封面、预览封面等功能提供统一的实现范式。赞分享文档知识库教程OpenHarmony【免费下载链接】CangjieCorpus本仓库为仓颉编程语言语料库聚焦 仓颉编程语言 核心知识体系整合官方开发指南、API 文档、典型代码示例及语法规范等多维度资源经结构化处理与专业标注构建为支持 RAG检索增强生成技术 的高质量知识基座适配智能编码助手、学习辅助工具等应用开发需求。 欢迎开发者基于本语料库构建仓颉语言智能应用推动鸿蒙开发生态智能化升级项目地址https://gitcode.com/Cangjie/CangjieCorpus点击查看免费下载相关推荐仓颉媒体服务 Media KitBeta开发指南AVImageGenerator 视频缩略图获取 API 全解析仓颉媒体服务 Media KitBeta开发指南AVImageGenerator 视频缩略图获取 API 全解析 Media Kit媒体服务是 Ope文档知识库教程OpenHarmonyzlib4cj仓颉语言 zlib / DEFLATE / gzip 压缩解压库实战指南zlib4cj仓颉语言 zlib / DEFLATE / gzip 压缩解压库实战指南 导读 zlib4cj 是为仓颉Cangjie语言打造的三方库支持后端仓颉语言位置服务开发全指南深入解析 ohos.geo_location_manager 模块仓颉语言位置服务开发全指南深入解析 ohos.geo_location_manager 模块 导读 本文以 cj apis geo_location_mana文档知识库教程OpenHarmony上一篇高效MATLAB到Python代码转换matlab2python实战指南下一篇Navicat Mac版无限试用终极指南三种简单方法免费使用Navicat Premium创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Windows Web Services(WWS):使用服务主机(Service Host)构建 HTTPS 采购订单服务的完整实战解析

Windows Web Services(WWS):使用服务主机(Service Host)构建 HTTPS 采购订单服务的完整实战解析

示例工程 【免费下载链接】Windows-classic-samples This repo contains samples that demonstrate the API used in Windows classic desktop applications. 项目地址: https://gitcode.com/gh_mirrors/wi/Windows-classic-samples 点击查看 免费下载 导读 本文围…

2026/10/16 2:29:53 阅读更多 →
React Native鸿蒙适配实战:状态管理与筛选排序的设计排坑

React Native鸿蒙适配实战:状态管理与筛选排序的设计排坑

跨平台这个口号喊了好多年,我现在听到的第一反应已经不是兴奋,而是翻需求文档。原因很简单:框架能不能跑,和业务能不能顺畅地跑,是两码事。只要项目涉及多平台,尤其是国内环境里绕不开的鸿蒙,你…

2026/10/16 2:28:53 阅读更多 →
SSM电商实战:2000行代码跑通全链路Java Web系统

SSM电商实战:2000行代码跑通全链路Java Web系统

简介:本资源是一套完整的Java Web电子商城课程设计大作业,面向高校计算机专业学生及Java初学者,用于软件工程实践、毕业设计参考或Web开发入门训练。内容覆盖从需求分析、概要设计、详细设计到系统实现与文档编写的全流程,技术栈基…

2026/10/16 2:28:53 阅读更多 →

最新新闻

自定义表单设计器-教学讲解

自定义表单设计器-教学讲解

自定义表单设计器 - 教学讲解目标读者:第一次接触本项目自定义表单设计器的同学 阅读时长:约 20 分钟 学完之后,你能完整说清楚下面这 3 件事: 设计器中间"手机壳"里的控件预览,到底是怎么画出来的&#xff…

2026/10/16 3:14:02 阅读更多 →
YOLO26改进:SPPF结合FFocal焦点调制提升目标检测精度

YOLO26改进:SPPF结合FFocal焦点调制提升目标检测精度

1. 为什么大家都在改SPPF?先搞清楚原始结构的真实瓶颈YOLO系列的SPPF模块,说白了就是空间金字塔池化的进化版。它的核心作用是把不同尺度的特征做融合,让网络对小目标、大目标都有感知能力。原版实现是先用一个CBS(ConvBNSiLU&…

2026/10/16 3:14:02 阅读更多 →
大模型全面开放实测:从对话、API接入到生产落地的完整指南

大模型全面开放实测:从对话、API接入到生产落地的完整指南

这个标题我看一眼就坐直了。倒不是说“全面开放”这四个字有多新鲜,而是“免费用户也能用了”这一句,直接戳中了之前所有绕过限制、寻找镜像站、甚至去买共用账号的人——包括我。我把手头的测试项目停了一下午,专门把界面点了一遍&#xff0…

2026/10/16 3:14:02 阅读更多 →
宝石装箱与容斥原理:从公式推导到代码实现

宝石装箱与容斥原理:从公式推导到代码实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:14:02 阅读更多 →
STM32移植TencentOS tiny MQTT组件实现物联网云接入

STM32移植TencentOS tiny MQTT组件实现物联网云接入

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:14:02 阅读更多 →
微信小程序圆环组件开发:Canvas 2D与CSS方案选型及性能优化实战

微信小程序圆环组件开发:Canvas 2D与CSS方案选型及性能优化实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:13:02 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →