那个大学业做网站东莞seo外包推广

pingmian/2026/1/23 1:56:17/文章来源:
那个大学业做网站,东莞seo外包推广,wordpress自带主题有什么,烟台网站建设技术支持0、作者杂谈 CSDN大多数都是落后的#xff0c;要么是到处复制粘贴的#xff0c;对于初学者我来说困惑了很久#xff0c;大多数CSDN文章都是使用旧的API #xff0c;已经被否决了#xff0c;于是我读一些官方文档#xff0c;和一些开源项目音视频的输出过程#xff0c;写…0、作者杂谈 CSDN大多数都是落后的要么是到处复制粘贴的对于初学者我来说困惑了很久大多数CSDN文章都是使用旧的API 已经被否决了于是我读一些官方文档和一些开源项目音视频的输出过程写出这篇文章希望能帮助到入门音视频的人。 感觉这个专栏没多少人看呃哎~ 一、流程导图 其实与视频解码播放流程差不了太多前面部分和专栏一一样 ffmpeg学习一 后面的话是添加了回调函数用于声卡通过回调函数拉数据到声卡缓冲区 二、实现过程 这中间省略了很多步骤 其实和ffmpeg学习三类似 SDL参数 转码参数和一开始的参数 这里新API中将AVChannelLayout分离出来了我们需要自己创建一个AVChannelLayout来获得声道布局为后面转码参数做铺垫 转码器 数据转换格式 这里SDL_Delay主要是防止声音播放过快。 回调函数 播放过程 这里播放的是瓦罗兰特的die for you 可惜你们听不到 希望这篇文章对读者有收获 源代码 #includeiostream #include vp_test.hstatic uint8_t* audio_buf new uint8_t[4096];static int audio_size;void read_audio_data(void* userdata, Uint8* stream,int len) {if (audio_size 0)return;int audio_buf_index 0;int len1 0; while (len 0){len1 audio_size - audio_buf_index;if (len1 len)len1 len;memcpy(stream, audio_bufaudio_buf_index, len1);audio_buf_index len1;stream len1;len - len1;}SDL_Delay(1);}int vp_audio(const char * filepath) {int ret 0;AVFormatContext* is NULL;AVCodecContext* ic NULL;const AVCodec* codec NULL;AVPacket* pkt NULL;AVFrame* frame NULL;int audio_index;//init ffmpegis avformat_alloc_context();pkt av_packet_alloc();frame av_frame_alloc();//初始化网络库avformat_network_init();if (avformat_open_input(is, filepath, NULL, NULL) ! 0) {return -1;}if (avformat_find_stream_info(is, NULL) 0) {return -1;}//查找音频解码器for (int i 0; i is-nb_streams; i) {AVStream *stream NULL;stream is-streams[i];if (stream-codecpar-codec_type AVMEDIA_TYPE_AUDIO) {codec avcodec_find_decoder(stream-codecpar-codec_id);ic avcodec_alloc_context3(codec);avcodec_parameters_to_context(ic,stream-codecpar);audio_index i;}}//打开解码器if (avcodec_open2(ic, codec, NULL) ! 0)return -1;//SDL 初始化音频模块SDL_Init(SDL_INIT_AUDIO | SDL_INIT_AUDIO);//初始化SDL中自己想设置的参数SDL_AudioSpec wanted_spec ;wanted_spec.freq 44100;wanted_spec.format AUDIO_S16SYS;wanted_spec.channels 2;wanted_spec.samples 1024;wanted_spec.callback read_audio_data;wanted_spec.userdata ic;//设置转码参数(转码成我们SDL播放的音频参数格式)AVChannelLayout out_ch;av_channel_layout_default(out_ch, 2);int out_nb_samples 1024;enum AVSampleFormat sample_fmt AV_SAMPLE_FMT_S16;int out_sample_rate 44100;// 解码前的格式参数AVChannelLayout in_ch ;av_channel_layout_default(in_ch, 2);enum AVSampleFormat in_sample_fmtic-sample_fmt;int in_sample_rateic-sample_rate;//转码器SwrContext* swr_ctx NULL;swr_alloc_set_opts2(swr_ctx,out_ch,sample_fmt,out_sample_rate,in_ch,in_sample_fmt,in_sample_rate,0, NULL);swr_init(swr_ctx);//打开音频播放设备if (SDL_OpenAudio(wanted_spec, NULL) 0)return -1;//开始或暂停播放SDL_PauseAudio(0);//开始调用回调函数填充缓冲区while (true) {while (true) {if (av_read_frame(is, pkt))goto end;//读取完毕if (pkt-stream_index audio_index)break;}//发送编码包avcodec_send_packet(ic, pkt);av_frame_unref(frame);if (avcodec_receive_frame(ic, frame) 0) {//数据转换int upper_bound_samples swr_get_out_samples(swr_ctx, frame-nb_samples);uint8_t* out[4] { 0 };out[0] (uint8_t*)av_malloc(upper_bound_samples * 2 * 2);int samples swr_convert(swr_ctx,out,upper_bound_samples,(const uint8_t**)frame-data,frame-nb_samples);//将数据写入buffer区memcpy(audio_buf, out[0], samples * 4);audio_size samples * 4;SDL_Delay(19);}} end:if (is)avformat_free_context(is);if (ic)avcodec_free_context(ic);if (pkt)av_packet_free(pkt);if (frame)av_frame_free(frame);if (swr_ctx)swr_free(swr_ctx);SDL_CloseAudio();SDL_Quit();return 0; }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/86646.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在线网站备份windows更新wordpress

维护一个集合,支持如下几种操作: “I x”,插入一个数x; “Q x”,询问数x是否在集合中出现过; 现在要进行N次操作,对于每个询问操作输出对应的结果。 输入格式 第一行包含整数N,表示…

厦门建设网站供求网站建设

序号题目组名 1理财猫非常3加11.图片的浏览功能我们会在第二阶段完成2跑什么操running man1.我们会尽快将界面和功能整合 2.物品的分类会在后期进行中逐步完善3水骑士水骑士团队暂无4铁大云盘老司机1.我们的项目是可以显示“注册成功”的,你的建议... 2.买家卖家的聊…

可以不花钱做网站吗想自己做淘宝有什么网站吗

对于很多刚开始学习软件测试的小伙伴来说,如果能尽早将黑盒、白盒测试弄明白,掌握两种测试的结论和基本原理,将对自己后期的学习有较好的帮助。今天,我们就来聊聊黑盒、白盒测试的相关话题。 1、黑盒测试的方法和小结 最常见黑盒…

淄博做网站多少钱公司网站制作新手教程

一、简介 在规划工作中,有一个普遍性的需求,就是需要检查规划前后在用地上究竟发生了哪些变化。 这一点很重要,不仅是要展示给别人看,自己也要十分注意。 规划方案完成后,一定要进行用地变化的检查,曾经…

木材板材网站制作方案创意设计产业包括哪些

数据结构 | 堆【图解】 文章目录 数据结构 | 堆【图解】堆的概念及结构堆的实现堆的初始化堆的插入【重点】堆的删除【重点】取堆顶的数据堆的数据个数堆的判空堆的销毁 全部代码 堆的概念及结构 堆(heap): 一种有特殊用途的数据结构——用来…

河北省电力建设第二工程公司网站食品企业网站建设

1、问题概述 常见情景1:在VUE中使用img显示图片的时候,通过传参的方式传入图片的路径和名称,VUE不加载本地资源而是通过http://localhost:8080/...的地址去加载网络资源,从而出现了图片无法显示的情况。 常见情景2:针…

建设厅网站修改密码宝安哪有网站建设

jQuery是一个非常优秀的 JavaScript 框架,使用简单灵活,同时还有许多成熟的插件可供选择。其中,jQuery 最令人印象深刻的应用之一就是对图片的处理,它可以让帮助你在你的项目中加入各种精美的图片展示效果。下面向大家分享精心挑选…

网站英文版怎么做企业网站怎么制作流程

WebStorm取消默认style样式折叠: File--->Settings打开一个窗口 Edit--->CodeFolding 把HTML style attribute的前面的钩去掉[取消勾选] 右下角点击Apply--->ok

青海建设厅网站尚少岩直接修改网页源码并执行

今天是最后一章哦,主要是讲jmeter性能测试脚本相关的。原创不易,点个赞意思一下呗! 一. 脚本开发方式大纲 1、badboy进行录制和导出 badboy下载地址: 链接:https://pan.baidu.com/s/18Po3RssrBRSnn_-xsHop1g 提取码&#xff1…

平面设计做画册用网站给公司建立网站不可以做到的是

文章目录 参考基于价值函数的缺点策略梯度算法REINFORCE 算法策略梯度推导进阶策略函数的设计离散动作的策略函数连续动作的策略函数 参考 第九章 策略梯度 之前介绍的 DQN 算法属于基于价值(value-based)的算法,基于策略梯度的算法直接对策略本身进行优化。 将策…

做网站怎么开发程序注册公司流程一览表

题目 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入:nums [100,4,200,1,3,2] 输出&#xff1a…

官方网站投诉平台wordpress 批量发布器

Android工程师进阶第八课 AMS、WMS和PMS 一、Binder通信 【Android Framework系列】第2章 Binder机制大全_android binder-CSDN博客 Android Binder机制浅谈以及使用Binder进行跨进程通信的俩种方式(AIDL以及直接利用Binder的transact方法实现)_bind…

网络销售怎么才能找到客户企业网站优化培训

题目链接 [CSP-S 2021] 括号序列 题目描述 小 w 在赛场上遇到了这样一个题:一个长度为 n n n 且符合规范的括号序列,其有些位置已经确定了,有些位置尚未确定,求这样的括号序列一共有多少个。 身经百战的小 w 当然一眼就秒了这…

网站开发简单的框架emlog与wordpress区别

话题: 低代码专访前言:2019年开始,低代码爆火。有人认为它是第四代编程语言,有人认为它是开发模式的颠覆,也有人认为是企业管理模式的变革……有很多声音,社区讨论很热烈。CSDN随后展开低代码平台产品系列活…

外贸怎么做网站前端网站怎么做

报喜不报忧,每天都在为鸡零狗碎推诿扯皮,属实是有辱师门。 通过软考,目前算是真正有意义的事情。 虽然都说高项的论文是个玄学,但是道听途说了一些通关感想还是蛮有启发的。 文件要求 参考了一份广西省高级工程师评审的文件&am…

做中介网站需要多少钱钓鱼网站的制作教程

先看下连接mysql本地库的2种方式。第一种运行cmd,键入mysql -uroot -p,如果提示mysql不是内部或外部命令,也不是可运行的程序或批处理文件。就将mysql的安装路径添加的系统的环境变量中。连接成功的界面如下第二种方式:安装程序中搜索mysql找…

网站访客qq获取系统 报价cp网站开发多少钱

介绍 持久性上下文使实体状态转换进入队列,该实体状态转换在刷新后转换为数据库语句。 对于托管实体,Hibernate可以代表我们自动检测传入的更改并安排SQL UPDATE。 这种机制称为自动脏检查 。 默认的脏检查策略 默认情况下,Hibernate检查所有…

专业做校园文化的网站怎样建房

[css] 为什么说css中能用子代选择器的时候不要用后代选择器? 选择从右到左依次解析匹配,所以后代选择器会去找它的所有父级, 而子代选择器只会选择直接的父级;减少匹配次数,提高效率个人简介 我是歌谣,欢…

网站开发课程设计实验报告网站轮播代码

在企业开发中,经常会碰到一些消息要及时推送到企业员工的手中。so 下面来说怎么向企业微信中的员工发消息。本人只是记录下开发过程,详细参考https://work.weixin.qq.com/api/1.准备注册企业微信公司获取企业ID新开企业微信应用获取应用的Agentid&#x…

项目网站分析东营网站推广公司

简介 SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。 根据…