首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Pou光明

    log4cplus封装

    上次和大家分享了log4cplus控制台实时输出以及全局调用的应用。 为了达到我们的目的,我们可以自己再对日志封装一下,并且可以让日志既能实时输出到文件又可以实时输出到控制台。 程序运行平台:ubuntu qt log4cplus1.2.2 1. 封装Mylog Mylog是一个单例类。 ① 以追加方式输出到文件配置 开始时使能内部输出。 ->_logger.addAppender(SharedAppenderPtr(append_file.get ())); return this->_logger; } ②全局简化调用 封装 define WARN(p) LOG4CPLUS_WARN(Mylog::instance()->getLog(), p) #define ERROR(p) LOG4CPLUS_ERROR

    1.4K20发布于 2019-09-12
  • 来自专栏音视频开发技术

    FFmpeg封装格式处理4-转封装例程

    封装例程 转封装是将一种封装格式转换为另一种封装格式,不涉及编解码操作,转换速度非常快。 ? 5.1 源码 源码修改自 FFmpeg 4.1 自带的例程 remuxing.c。 打开输入 // 1.1 读取文件头,获取封装格式相关信息 if ((ret = avformat_open_input(&ifmt_ctx, in_filename, 0, 0)) < time_base,在avformat_find_stream_info()中可取到每个流中的time_base // 输出:avformat_write_header()会根据输出的封装格式确定每个流的 time_base并写入文件中 // AVPacket.pts和AVPacket.dts的单位是AVStream.time_base,不同的封装格式其AVStream.time_base 不同 // 所以输出文件中,每个packet需要根据输出封装格式重新计算pts和dts av_packet_rescale_ts(&pkt, in_stream->time_base

    1.2K20发布于 2019-04-02
  • 来自专栏全栈程序员必看

    log4cpp深度封装

    简介 关于log4cpp的介绍与好处就不再赘言了,百度一搜一大把。主要是对于log4cpp的使用如果不封装一下,感觉还是挺麻烦的,例如不少函数名挺长的。 所以自己动手把它的日常使用进行了封装,可以让使用log4cpp就像调用一句printf()函数一样简单快捷。 封装目标 不需要用一次就调用一次getInstance,只需要在main文件中引入一次即可 封装成需要使用时只需简短的一举logError(“somelog”) 就搞定 输出的日志内容包含:文件名,函数名 ,行号(通过以上函数调用即可) 利用单例模式封装 具体实现 类定义 & 宏定义 巧妙的使用宏定义可以缩短函数调用形式(虽然effective c++ 和google C++编程规范都极力反对使用太多宏) { ERROR, WARN, INFO, DEBUG }; //用单例模式封装log4cpp class Mylog { public: static Mylog

    1.1K30编辑于 2022-09-14
  • 来自专栏lgp20151222

    log4j的终极封装

    通用型(再也不用每个类new一个logger了) public class Log { private static Map<String,Logger> loggerMap = new HashMap<String,Logger>(); public static void main(String[] args) throws ClassNotFoundException { Log.error("自定义LOG","sss444444"); }

    70010发布于 2018-09-10
  • 来自专栏菩提树下的杨过

    pygame 笔记-4 代码封装&发射子弹

    pygame.image.load(img_base_path + 'actor/R3.png'), pygame.image.load(img_base_path + 'actor/R4. pygame.image.load(img_base_path + 'actor/L3.png'), pygame.image.load(img_base_path + 'actor/L4.

    75120发布于 2018-12-27
  • 来自专栏全栈程序员必看

    ue4封装接口_ue4导出模型

    本文带大家认识UE4插件/模块的使用方式Dll。既然为DLL,那么我们就可以对其封装,做到不公开cpp的目的。 1>新建一个Plugin 2>在plugin中创建一个Actor类,并在里面写一个UE4的Log输出函数。 3>对其进行编译,编译出不同模式的dll出来 4>在UE4场景中测试我们Log函数 5>删除cpp文件 6>在我们的.build.cs中添加不参数编译的参数 bUsePrecompiled = true ; 7>再到UE4场景中测试我们Log函数。 在UE4场景中测试我们Log函数 5>删除cpp文件 6>在我们的.build.cs中添加不参数编译的参数 bUsePrecompiled = true; 7>再到UE4场景中测试我们Log函数。

    1.3K10编辑于 2022-09-28
  • 来自专栏云深之无迹

    Dji RoboMaster Tello SDK封装.4(打包,安装)

    最后安装格式,你得写一个init得文件来完成SDK最后得编写 分别是包名,作者名字,授权方式,版权,版本,以及库中包含得文件 import setuptools with open('README.md', 'r') as fh: long_description = fh.read() setuptools.setup( name='easytello', version='0.0.9', author='yunswj', author_email='18247

    99010发布于 2021-03-30
  • 来自专栏关键帧Keyframe

    iOS AVDemo(4):音频解封装,从 MP4 中解封装出 AAC丨音视频工程示例

    这个 Demo 里包含以下内容: 1)实现一个音频解封装模块; 2)实现对 MP4 文件中音频部分的解封装逻辑并将解封装后的编码数据存储为 AAC 文件; 3)详尽的代码注释,帮你理解代码逻辑和原理。 }; #endif /* KFMediaBase_h */ 接下来,我们实现一个 KFMP4Demuxer 类来实现 MP4 的解封装。它能从符合 MP4 标准的文件中解封装出音频编码数据。 在这个接口中我们通过 CMSampleBufferRef 打包的是从 MP4/M4A 文件解封装后得到的 AAC 编码数据。 4)从中断中恢复解封装。 在 -_resumeLastTime 方法中实现。 5)停止解封装。 在 -cancelReading 方法中实现。 6)解封装状态机管理。 2、解封装 MP4 文件中的音频部分存储为 AAC 文件 我们还是在一个 ViewController 中来实现对一个 MP4 文件解封装、获取其中的音频编码数据并存储为 AAC 文件。

    76530编辑于 2022-06-13
  • 来自专栏关键帧Keyframe

    Android AVDemo(4):音频解封装,从 MP4 中解封装出 AAC丨音视频工程示例

    这个 Demo 里包含以下内容: 1)实现一个音频解封装模块; 2)实现对 MP4 文件中音频部分的解封装逻辑并将解封装后的编码数据存储为 AAC 文件; 3)详尽的代码注释,帮你理解代码逻辑和原理。 类来实现 MP4 的解封装。 它能从符合 MP4 标准的文件中解封装出音频编码数据。 2、解封装 MP4 文件中的音频部分存储为 AAC 文件 我们还是在一个 MainActivity 中来实现对一个 MP4 文件解封装、获取其中的音频编码数据并存储为 AAC 文件。 在 mDemuxerConfig 中实现,我们这里是一个 MP4 文件。 2)创建解封装器。 new KFMP4Demuxer(mDemuxerConfig,mDemuxerListener)。

    1.4K30编辑于 2022-06-13
  • 来自专栏Android知识点总结

    4-VI--☆ListView的封装支持多种条目

    零、前言 1.封装了一晚,总算把多条目的ListView封装了一下 [listview.gif] 一、使用 1.初始化数据 ArrayList<Message> messages = value; } public void setValue(String value) { this.value = value; } } --- 二、具体封装类 public void setType(int type) { this.type = type; } } 2.适配器类 /** * 作者:张风捷特烈 * 时间:2018/4/ int getViewTypeCount() { return mTypeMap.size(); } } 3.Holder类 /** * 作者:张风捷特烈 * 时间:2018/4/ app:layout_constraintTop_toTopOf="@+id/iv_icon"/> </android.support.constraint.ConstraintLayout> 4.

    58430发布于 2018-08-29
  • 来自专栏Android知识点总结

    4-VI--☆ListView的封装支持多种条目

    零、前言 [1.]封装了一晚,总算把多条目的ListView封装了一下 listview.gif 一、使用 1.初始化数据 ArrayList<Message> messages return value; } public void setValue(String value) { this.value = value; } } 二、具体封装类 app:layout_constraintTop_toTopOf="@+id/iv_icon"/> </android.support.constraint.ConstraintLayout> 4.

    62450发布于 2018-09-26
  • 来自专栏Mokwing

    python 自动化测试(4):日志类封装

    一、前言 本篇日志封装比较简单,符合简单的代码运行时记录。使用python自带logging库进行封装。 主要包含指定保存日志的文件路径,日志级别,以及调用文件将日志存入到指定的文件中。

    83130发布于 2020-09-08
  • 来自专栏前端加油站

    angular4实战(3) 插件引入及封装

    angular4 默认开发语言是typescript,虽然typescript作为js语言的超集,但是项目默认还是不支持直接使用js脚本的。 方案二: 在tsconfig.json中的compilerOptions下添加配置 "allowJs": true, "allowSyntheticDefaultImports": true, 服务封装 而服务本身的封装,也需要去Injectable,才可以向providers中提供。 ? 都统一封装在共享的模块下,然后去挂载共享模块。例如项目中有如下内容,需要分发到每个模块。 项目地址:https://github.com/jiwenjiang/angular4-material2

    1.1K30发布于 2019-07-02
  • 来自专栏Android知识点总结

    4-SII--☆Android缓存文件(带有效时长)封装

    [4]如果不了解SharedPreferences,可以先看这篇:1-SII--SharedPreferences完美封装 缓存策略类图 ?

    55620发布于 2018-09-26
  • 来自专栏个人路线

    Java面向对象基础(封装继承多态)【4】 异常处理

    4.习惯上,自定义异常类应该包含2个构造器:一个是默认的构造器,另一个是带有详细信息的构造器。 4.异常往往在高层处理(先了解!后面做项目会说!) 。 如何利用百度解决异常问题 正常学习和开发中,我们经常会遇到各种异常。大家在遇到异常时,需要遵循下面四步来解决: 1. 前两步无法搞定,再问同学或同事; 4. 前三步无法搞定,请示领导。 很多同学碰到异常一下就慌了,立刻开始请教别人搬救兵,殊不知这样做有两大坏处。 4.

    79710发布于 2021-08-03
  • 来自专栏关键帧Keyframe

    Android AVDemo(3):音频封装,采集编码并封装为 M4A丨音视频工程示例

    ,再将编码后的数据输入给 M4A 封装模块封装和存储; 5)详尽的代码注释,帮你理解代码逻辑和原理。 这次我们要封装的格式是 M4A,属于 MPEG-4 标准,通常普通的 MPEG-4 文件扩展名是 .mp4,只包含音频的 MPEG-4 文件扩展名用 .m4a。 所以,其实我们这里实现的是一个 MP4 封装模块,支持将音频编码数据封装成 M4A,也支持将音视频数据封装成 MP4。关于 MP4 格式,可以看一看《MP4 格式》这篇文章了解一下。 由于 MP4 封装涉及到一些参数设置,所以我们先实现一个 KFMuxerConfig 类用于定义 MP4 封装的参数的配置。这里包括了:封装文件输出地址、封装文件类型这几个参数。 4、采集音频数据进行 AAC 编码以及 M4A 封装和存储 我们还是在一个 MainActivity 中来实现采集音频数据进行 AAC 编码、M4A 封装和存储的逻辑。

    1.4K40编辑于 2022-06-13
  • 来自专栏关键帧Keyframe

    iOS AVDemo(3):音频封装,采集编码并封装为 M4A丨音视频工程示例

    ,再将编码后的数据输入给 M4A 封装模块封装和存储; 5)详尽的代码注释,帮你理解代码逻辑和原理。 这次我们要封装的格式是 M4A,属于 MPEG-4 标准,通常普通的 MPEG-4 文件扩展名是 .mp4,只包含音频的 MPEG-4 文件扩展名用 .m4a。 所以,其实我们这里实现的是一个 MP4 封装模块,支持将音频编码数据封装成 M4A,也支持将音视频数据封装成 MP4。关于 MP4 格式,可以看一看《MP4 格式》这篇文章了解一下。 由于 MP4 封装涉及到一些参数设置,所以我们先实现一个 KFMuxerConfig 类用于定义 MP4 封装的参数的配置。这里包括了:封装文件输出地址、封装文件类型、图像变换信息这几个参数。 4、采集音频数据进行 AAC 编码以及 M4A 封装和存储 我们还是在一个 ViewController 中来实现采集音频数据进行 AAC 编码、M4A 封装和存储的逻辑。

    81420编辑于 2022-06-13
  • 来自专栏智媒黑板报

    音视频封装:MP4结构概述和分析工具

    问题背景: 前面已经讲了好几种封装格式包括了TS、FLV、RTP等。现在用几篇文章讲解下MP4,这种封装格式设计思路和前面都不太一样,其应用范围最广、灵活性最高、跨平台最好,兼容性最强。 后来成为”ISO/IEC 14996-14”国际标准, 其中MP4就是对这种标准的一种具体实现,基于这个标准进行扩展或者裁剪还产生了像M4V、F4V等封装格式。 其次源代码也是开发的,可以研究和实现Mp4的解封装。其次还支持对FMp4文件的分析,这点也是比较好的。 ? Ffmpeg和Mp4Box 这两个工具是处理MP4文件的利器,包括合并,分割,解封装,转封装封操作。 Elcard StreamEye 这个工具比较强大,主要是为了检测MP4封装的实际编码内容,包括帧类型信息、流的信息等,还可以逐帧播放等,如果觉得封装没问题直接想查看里面编码层内容那就是分析利器,前面其它封装格式也推荐过该工具

    5.2K21发布于 2020-11-12
  • 来自专栏葬爱家族

    Android高级动画(4)完结篇目录回顾封装库总结

    ://www.jianshu.com/p/89cfd9042b1e Android高级动画(3)http://www.jianshu.com/p/d6cc8d218900 Android高级动画(4) 为了弥补一矢量动画不能代码动态构建的缺点,我们自己封装了PathMorphingView和TrimPathView。 封装库 为了简化动画的使用,我尝试封装了一个简单的库,包含所有常用的动画,可以用最简单的链式调用实现各种动画。 addFrame(drawable1, 100) .addFrame(drawable2, 100) .addFrame(drawable3, 100) .addFrame(drawable4, 但是事实上,动画这个话题是没有尽头的,各种新的效果在不断地设计出来,我们封装再多框架也不可能一劳永逸,唯有理解了每一种动画的本质,才能以不变应万变。

    94320发布于 2018-09-05
  • 来自专栏全栈程序员必看

    SDK封装_java封装

    本文主要讲解java封装jar包的过程,一个简单的demo,方便大家入手学习打包jar包。 若仅仅打包成单纯的jar包的话,不用做任何修改,采取默认即可 若打包成可执行jar包的话,可以使用已存在的MANIFEST文件或者直接选择Main class (4)

    2.8K30编辑于 2022-11-03
领券