<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[elvia7的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/elvia7</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; elvia7]]></copyright><item><title><![CDATA[在ExoPlayer中使用ffmpeg进行音频解码（编译和使用）]]></title><link>https://blog.youkuaiyun.com/elvia7/article/details/134159841</link><guid>https://blog.youkuaiyun.com/elvia7/article/details/134159841</guid><author>elvia7</author><pubDate>Mon, 06 Nov 2023 10:56:52 +0800</pubDate><description><![CDATA[Android项目中需要使用Exoplayer接收RTSP流进行解码显示。在解码过程中出现无法解码AAC音频的问题（ aacDecoder_DecodeFrame decoderErr = 0x0005），因此决定在Exoplayer中引入FFMpeg扩展，进行音频解码。]]></description><category></category></item><item><title><![CDATA[ExoPlayer系列1. HLS流播放]]></title><link>https://blog.youkuaiyun.com/elvia7/article/details/133742713</link><guid>https://blog.youkuaiyun.com/elvia7/article/details/133742713</guid><author>elvia7</author><pubDate>Tue, 10 Oct 2023 15:05:35 +0800</pubDate><description><![CDATA[ExoPlayer是Google出品的视频播放器，功能强大，使用简单，独立于Android代码框架，以一个开源代码库的形式存在，可定制性强。ExoPlayer也是Google官方推荐的Android媒体播放器，可以在Android官方文档的音频和视频目录中找到。ExoPlayer和MediaPlayer相比，多了支持基于 HTTP 的动态自适应流 (DASH)、SmoothStreaming 和通用加密等功能。]]></description><category></category></item><item><title><![CDATA[Android Service 系列3. 如何在Service里弹出Dialog]]></title><link>https://blog.youkuaiyun.com/elvia7/article/details/133700466</link><guid>https://blog.youkuaiyun.com/elvia7/article/details/133700466</guid><author>elvia7</author><pubDate>Mon, 09 Oct 2023 14:02:40 +0800</pubDate><description><![CDATA[本篇文章简单实现了如何在Service里面弹出Dialog。]]></description><category></category></item><item><title><![CDATA[Android Service 系列2. Android开机启动Service和“ did not then call Service.startForeground()”异常]]></title><link>https://blog.youkuaiyun.com/elvia7/article/details/133356198</link><guid>https://blog.youkuaiyun.com/elvia7/article/details/133356198</guid><author>elvia7</author><pubDate>Sun, 08 Oct 2023 16:40:54 +0800</pubDate><description><![CDATA[Override// 检查是否是开机广播//开启服务//需要增加，否则会报错。]]></description><category></category></item><item><title><![CDATA[将Nginx封装为Windows服务并自启动]]></title><link>https://blog.youkuaiyun.com/elvia7/article/details/133681870</link><guid>https://blog.youkuaiyun.com/elvia7/article/details/133681870</guid><author>elvia7</author><pubDate>Sun, 08 Oct 2023 14:56:02 +0800</pubDate><description><![CDATA[下载Windows Service Wrapper 工具。]]></description><category></category></item><item><title><![CDATA[Android Service 系列1. 概述和服务启动方法]]></title><link>https://blog.youkuaiyun.com/elvia7/article/details/133297585</link><guid>https://blog.youkuaiyun.com/elvia7/article/details/133297585</guid><author>elvia7</author><pubDate>Wed, 27 Sep 2023 15:44:15 +0800</pubDate><description><![CDATA[Service是Android四大组件之一，它可以在后台执行长时间运行操作而没有用户界面的应用组件。即使程序被切换到后台，或者用户打开了另外一个应用程序，服务仍然能够保持正常运行。由其他组件调用startService()方法启动服务，启动它的组件（如Activity）和Service并没有关联。当服务是started状态时，其生命周期与启动它的组件无关，并且可以在后台无限期运行，即使启动服务的组件已经被销毁。]]></description><category></category></item><item><title><![CDATA[Android制作launcher程序]]></title><link>https://blog.youkuaiyun.com/elvia7/article/details/133296988</link><guid>https://blog.youkuaiyun.com/elvia7/article/details/133296988</guid><author>elvia7</author><pubDate>Tue, 26 Sep 2023 09:51:04 +0800</pubDate><description><![CDATA[在AndroidManifest.xml文件里面，启动的Activity里面增加category.HOME和category.DEFAULT。]]></description><category></category></item><item><title><![CDATA[ExoPlayer环境搭建]]></title><link>https://blog.youkuaiyun.com/elvia7/article/details/131915503</link><guid>https://blog.youkuaiyun.com/elvia7/article/details/131915503</guid><author>elvia7</author><pubDate>Tue, 25 Jul 2023 13:38:53 +0800</pubDate><description><![CDATA[更改编译版本compileSdkVersion升级到31，然后重新编译就能过。一、原有的build.gradle文件。将minSdkVersion改为26。三、build报错，sdk版本过低。二、引入ExoPlayer依赖库。]]></description><category></category></item><item><title><![CDATA[Android Studio里，SDK Manager显示不全问题。]]></title><link>https://blog.youkuaiyun.com/elvia7/article/details/131915377</link><guid>https://blog.youkuaiyun.com/elvia7/article/details/131915377</guid><author>elvia7</author><pubDate>Tue, 25 Jul 2023 13:08:05 +0800</pubDate><description><![CDATA[在sdk manager里面，进入sdk update sites，点击右侧的“+”，输入一个镜像地址。【问题描述】：在SDK Manager里面，只显示自己已经安装的SDK版本，不显示其他未安装版本。输入dl.google.com，进行ping检测。选择一个地址，比如203.208.43.70。【前提】：有VPN，开了全局，依然不行。提交后， SDK列表还是没有出来了。在cmd里面确定可以ping通。1、在setting里面，将。在最后添加下述三行，保存。【解决尝试1】：没成功。【解决尝试2】：成功了。]]></description><category></category></item><item><title><![CDATA[基于QT+Boost环境下的websocketpp客户端开发]]></title><link>https://blog.youkuaiyun.com/elvia7/article/details/131850334</link><guid>https://blog.youkuaiyun.com/elvia7/article/details/131850334</guid><author>elvia7</author><pubDate>Fri, 21 Jul 2023 15:05:46 +0800</pubDate><description><![CDATA[最近工作中需要基于QT写一个websocket的客户端，因为服务器是用websocketpp做的，所以客户端也采用同一个框架，避免通讯中出现异常。如果使用websocketpp，必需先安装boost环境。整个开发环境版本：boost_1_80_0 + vs2017+QT5.12.8。]]></description><category></category></item><item><title><![CDATA[npm install 报错“ERESOLVE could not resolve”]]></title><link>https://blog.youkuaiyun.com/elvia7/article/details/130222872</link><guid>https://blog.youkuaiyun.com/elvia7/article/details/130222872</guid><author>elvia7</author><pubDate>Tue, 18 Apr 2023 15:27:24 +0800</pubDate><description><![CDATA[因此输入：npm install --force 或者 npm install --legacy-peer-deps即可解决。解决的方法就是command with --force，或者--legacy-peer-deps。问题原因是依赖冲突导致不能下载依赖包（dependency conflict），--legacy-peer-deps 忽视依赖冲突,继续安装（不覆盖之前）--force 无视冲突，强制获取远端npm库资源 （覆盖之前）npmV7之前的版本遇到依赖冲突会忽视依赖冲突，继续进行安装，]]></description><category></category></item><item><title><![CDATA[html2canvas控件截图时，图片显示不全]]></title><link>https://blog.youkuaiyun.com/elvia7/article/details/129548808</link><guid>https://blog.youkuaiyun.com/elvia7/article/details/129548808</guid><author>elvia7</author><pubDate>Wed, 15 Mar 2023 11:43:05 +0800</pubDate><description><![CDATA[再回头查项目代码，发现canvas1和canvas2的外面，包了一层span，span的样式设置成了。但是截取后的图片，div里面的canvas显示不全，只能显示部分区域。查阅了html2canvas的git issus，找到类似的问题。使用html2canvas截取类似下方的图片。尝试过延时截图、跨域等方法，但是都没有解决。项目中需要将页面部分显示区域进行截图保存。div里面套了若干个canvas图片。去掉hidden，可以正常截图。]]></description><category></category></item><item><title><![CDATA[android apk 反编译]]></title><link>https://blog.youkuaiyun.com/elvia7/article/details/126953444</link><guid>https://blog.youkuaiyun.com/elvia7/article/details/126953444</guid><author>elvia7</author><pubDate>Tue, 20 Sep 2022 15:07:45 +0800</pubDate><description><![CDATA[apk反编译]]></description><category></category></item><item><title><![CDATA[vue 4.0 安装]]></title><link>https://blog.youkuaiyun.com/elvia7/article/details/118358982</link><guid>https://blog.youkuaiyun.com/elvia7/article/details/118358982</guid><author>elvia7</author><pubDate>Wed, 30 Jun 2021 13:26:41 +0800</pubDate><description><![CDATA[1.vue安装

npm install -g @vue/cli

2.切换淘宝镜像cnpm

npm install nrm -g --save #安装nrm

nrm ls #查看默认配置

3.此时会出现bug

报错throw new TypeError(‘Path must be a string. Received ‘ + inspect(path))？解决办法：

打开nrm的文件夹下cli.js 第17行修改成

const NRMRC = path.join(process.env[(p.]]></description><category></category></item><item><title><![CDATA[ffmpeg将本地yuv文件264编码后udp推流]]></title><link>https://blog.youkuaiyun.com/elvia7/article/details/89519664</link><guid>https://blog.youkuaiyun.com/elvia7/article/details/89519664</guid><author>elvia7</author><pubDate>Thu, 25 Apr 2019 16:59:02 +0800</pubDate><description><![CDATA[推流：

ffmpeg -re -s 352*288 -pix_fmt yuv420p -i bus_cif.yuv -vcodec h264 -f h264 udp://127.0.0.1:1234

其中：

-re ：按时间戳发送
-s 352*288 ：视频尺寸
-pix_fmt yuv420p：格式
-i bus_cif.yuv ：输入文件名
-vcodec h264 ：编码方式
-...]]></description><category></category></item><item><title><![CDATA[Android日志和崩溃信息记录 （Timber，logback，UncaughtExceptionHandler）]]></title><link>https://blog.youkuaiyun.com/elvia7/article/details/89314918</link><guid>https://blog.youkuaiyun.com/elvia7/article/details/89314918</guid><author>elvia7</author><pubDate>Mon, 15 Apr 2019 17:02:10 +0800</pubDate><description><![CDATA[在程序开发过程中，需要记录程序运行中的运行日志。同时很多时候，程序运行中可能会遇到种种异常导致崩溃，在使用AndroidStudio调试过程中，可以在logcat中查看这些异常。但是apk安装在用户手机上，就需要程序自己将这些异常进行捕获并记录在日志中，供开发人员后续进行问题排查。

一、日志记录

1、Timber

一个简单的日志类，Timber把一种日志记录方法看做一颗树tree，Ti...]]></description><category></category></item><item><title><![CDATA[ONVIF中调用soap_send___wsdd__Probe返回-1问题排查]]></title><link>https://blog.youkuaiyun.com/elvia7/article/details/69524972</link><guid>https://blog.youkuaiyun.com/elvia7/article/details/69524972</guid><author>elvia7</author><pubDate>Fri, 07 Apr 2017 11:17:25 +0800</pubDate><description><![CDATA[最近在海思的开发板上调用ONVIF来搜索局域网内的摄像头，发现同样的代码，直接编译运行在板端就可以正常搜索，将代码合到已有的QT代码中，就无法搜索，soap_send___wsdd__Probe返回-1。将板卡多余网口关闭，并且在程序中指定网口IP均不能解决问题。
经过两天排查，发现问题出现在stdsoap2.c的fsend函数中，在下述代码中，当程序sendto全局广播包时，返回-1（nwri]]></description><category></category></item></channel></rss>