当前位置: 首页 > news >正文

辽宁省网站建设开发公司可以顾保安

辽宁省网站建设,开发公司可以顾保安,合肥瑶海区最新房价,建站公司不给源码介绍 在本系列#xff0c;我打算花大篇幅讲解我的 gitee 项目音视频播放器#xff0c;在这个项目#xff0c;您可以学到音视频解封装#xff0c;解码#xff0c;SDL渲染相关的知识。您对源代码感兴趣的话#xff0c;请查看基于FFmpeg和SDL的音视频播放器 如果您不理解本… 介绍 在本系列我打算花大篇幅讲解我的 gitee 项目音视频播放器在这个项目您可以学到音视频解封装解码SDL渲染相关的知识。您对源代码感兴趣的话请查看基于FFmpeg和SDL的音视频播放器 如果您不理解本文可参考我的前一篇文章音视频项目—基于FFmpeg和SDL的音视频播放器解析十二 解析 我们到了后面就应该播放出音频和视频了这就了两个包audiooutputvideooutput。我们今天解析负责播放音频的包audiooutput。 我们先来看看 .h 文件的代码 #ifndef AUDIOOUTPUT_H_ #define AUDIOOUTPUT_H_#ifdef __cplusplusextern C{ #includelibavutil/avutil.h #includeSDL.h #includelibswresample/swresample.h }#includeavsync.h #includeavframequeue.htypedef struct AudioParams{int freq;int channels;int64_t channel_layout;enum AVSampleFormat fmt;int frame_size; } AudioParams;class AudioOutput { public:AudioOutput(AVSync* avsync, AVRational time_base, const AudioParams audio_params, AVFrameQueue* frame_queue);~AudioOutput();int Init();int DeInit(); private:int64_t pts AV_NOPTS_VALUE;AudioParams src_tgt;AudioParams dst_tgt;AVFrameQueue* frame_queue nullptr;struct SwrContext* swr_ctx nullptr;uint8_t* audio_buf nullptr;uint8_t* audio_buf1 nullptr;uint32_t* audio_buf_size 0;uint32_t* audio_buf1_size 0;uint32_t* audio_buf_index 0;AVSync* avsync nullptr;AVRational time_base; };#endif#endif 大体上看一遍首部有 AudioParams然后是 AudioOutput 的类。 AudioParams typedef struct AudioParams{int freq;int channels;int64_t channel_layout;enum AVSampleFormat fmt;int frame_size; } AudioParams; 这个结体体负责记录音频的各类参数 freq频率 channels频道数 channel_layout fmt音频格式 frame_size帧大小 AudioOutput 我们先看私有成员 int64_t pts AV_NOPTS_VALUE显示时间戳 AudioParams src_tgt源音频参数 AudioParams dst_tgt目标音频参数 AVFrameQueue* frame_queue nullptr音频帧队列 struct SwrContext* swr_ctx nullptr uint8_t* audio_buf nullptr音频缓冲区 uint8_t* audio_buf1 nullptr音频缓冲区 uint32_t* audio_buf_size 0音频缓冲区大小 uint32_t* audio_buf1_size 0音频缓冲区大小 uint32_t* audio_buf_index 0音频缓冲区 index AVSync* avsync nullptr音视频同步 AVRational time_base帧率 构造函数 AudioOutput::AudioOutput(AVSync* avsync, AVRational time_base, const AudioParams audio_params, AVFrameQueue* frame_queue){this-avsync avsync;this-time_base time_base;this-src_tgt audio_params;this-frame_queue frame_queue; } 将私有成员变量进行赋值 好了今天先讲这么多下一篇文章讲解的函数会比较多且难大家慢慢来。 欲知后事如何请听下回分解。
http://www.huolong8.cn/news/180683/

相关文章:

  • 网站排名软件利搜北京科技公司名单
  • 杭州设计师网站攀枝花市三线建设博物馆网站
  • 企业网站建设公司电话成都1688货源网一件代销
  • 网上购物网站开发微网站平台建设方案
  • wordpress站点的根目录小程序开发专业定制
  • 做网站送的企业邮箱能用吗便宜域名购买
  • 网站建设成功案例宣传广西城乡建设厅网站
  • 建公司网站步骤263企业邮箱网页登录入口
  • wordpress_子网站重命名山东省住房和城乡建设厅网站
  • 乌鲁木做兼职的网站移动端网站宽度做多大
  • 网站运营推广策划书wordpress怎么写代码
  • 南宁商城网站建设做网站页面代码
  • 白云区建网站设计解决wordpress注册
  • 虚拟主机发布网站吗网站建设 商业价值
  • 如何做网站实名认证园林公司做网站的好处
  • 站长统计app下载药店网站建设相关费用
  • 网站广告源码网页设计公司上市公司
  • 如何免费建企业网站经典营销案例
  • 上海专业网站建设咨询小程序开发者工具
  • dede仿手机网站模板上海公关公司
  • 青岛网站设计报价河南省建设厅网站中级职称
  • 国外活动策划网站网站建设目标论文
  • 怎么用微信官方网站做二维码wordpress 搜索插件
  • wordpress网站seo中山商城型网站建设
  • 什么是网站集约化建设合肥建设公司网站
  • 外贸社交营销代运营桔子seo查询
  • 163网站是jsp做的吗房地网
  • 如何网站建设自己怎么个人网站网店美工课程心得体会
  • wordpress下载站哪些网站可以seo
  • 东莞商城网站建设企业管理公司