自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(554)
  • 资源 (3)
  • 收藏
  • 关注

原创 【后端开发】将springboot项目部署到阿里云服务器

11.还没完呢,这种启动方式是一次启动,当我们关掉Xshell的时候,我们的网站又访问不上了,又得重新打开Xshell,执行 java -jar ***.jar。回到我们本地windows Springboot项目,下面我们对我们的项目做一些设置,到IDEA中,打开pom.xml,添加如下语句,将项目的打包形式设置好。编辑完之后,按Esc键退出编辑模式,然后按: 之后输入wq,再回车退出(Linux中vim的基础,不了解的小伙伴可以了解一下Linux中的vim)(8)到这一步,jdk的安装就全部完成了。

2023-07-07 17:24:10 2738 2

原创 【Android音视频开发】声道切换

声道切换主要用到了OpenSL ES中的声道控制接口 SLMuteSoloItf 。初始化: (*pcmPlayerObject)->GetInterface( pcmPlayerObject, SL_IID_MUTESOLO, &pcmPlayPlayerMuteSolo); //设置声道: (*pcmPlayPlayerMuteSolo)->SetChannelMute( pcmPlayPlaye...

2021-10-12 23:38:51 1082

原创 【Android音视频开发】FFmpeg对音频数据重采样生成PCM数据

基本概念:采样率:每秒对音频数据采样的个数(44100hz)采样位数:存储采样数据的位数(16bit 2字节)输出声道:单声道、立体声(左右声道)等重采样: 就是把目标音频按照一定的格式重新采样编码成新的音频数据, 方便统一处理,一般的采样标准是:44100HZ、16bit、双声道FFmpeg重采样采样对象:解码出来的音频帧(AVframe)使用函数:SwrContextswr_ctx = swr_alloc_set_opts( struct SwrCon...

2021-10-11 22:51:57 586

原创 【Android音视频开发】OPenSL ES介绍

简单来说OpenSL ES是一个嵌入式、跨平台、免费的、音频 处理库。Android OPenSL ES库位置:使用 OPenSL ES 流程:1、创建接口对象2、设置混音器3、创建播放器(录音器)4、设置缓冲队列和回调函数5、设置播放状态6、启动回调函数重要接口解释1、类接口:SLObjectItf 通过SLObjectItf接口类我们可以创建所需要的各种类型的类接口,比如:创建引擎接口对象:SLObjectItf engineObject创建.

2021-10-11 22:29:50 668

原创 【Android音视频开发】C++队列缓存AVPacket

因为解码获取AVpakcet需要耗费一定的时间,为了达到更好地播放效果 (流畅度),需要把解码出来的AVpacket先缓存到队列中,播放时直接 从队里里面取。C++队列(queue)1、头文件 #include “queue”2、创建队列 std::queue<T> queue;3、入队 queue.push(t);4、出队 T t = queue.front();//获取队头 queue.pop();Avpac...

2021-09-16 00:37:41 607

原创 【Android音视频开发】C++多线程解码音频数据

FFmpeg在C++子线程中解码音频数据,得到数据包AVPacketAVPacket:存放原始音频/视频的压缩包。C++多线程解码音频数据1、注册解码器并初始化网络av_register_all();avformat_network_init();2、打开文件或网络流AVFormatContext *pFormatCtx = avformat_alloc_context();avformat_open_input(&pFormatCtx, url, NULL, N

2021-09-14 23:45:14 460

原创 【Android音视频开发】C++多线程/生产者消费者模型以及C++全局调用Java方法

Android C++ 线程简介我们都知道Android是基于Linux内核的,而Linux是遵循POSIX线程标准的,POSIX线程库中有 一系列Pthreads API方便我们对Linux线程的操作。所以我们在Android中使用C/C++线程也就转到 了使用POSIX线程库。他们都在头文件“pthread.h”中。创建子线程1、pthread_t: 用于声明一个线程对象如:pthread_t thread;2、pthread_creat : 用于创建一个实际的线程如:pthread

2021-09-13 23:25:18 191

原创 【Android音视频开发】FFmpeg解码流程

1、视频文件封装格式和编码格式介绍视频:对原始视频流的编码然后再封装的产物封装格式:mp4、mkv、avi、mp3、m4a 等编码格式:h264、h265、mpeg、wmv、aac 等如:视频.mp4 编码格式:h264 编码格式:aac 封装格式:mp4FFmpeg解码流程(图解)FFmpeg解码流程(代码)...

2021-09-11 00:47:20 260

原创 【Android音视频开发】创建C++项目并导入FFmpeg动态库

创建C++ Android项目勾选 c++ support 使用cmake 3.异常信息等支出添加NDK路径Project Structure安装Cmake工具Android SDK中安装CMake和LLDB添加module(library)Module添加C++支持 1、移动项目中cmakelist.txt到Module根目录下2、...

2021-09-10 02:12:04 465

原创 【Android音视频开发】FFmpeg移植Android平台

一.在Ubuntu(Linux)中编译Android平台的FFmpeg( arm和x86 ) 1.下载FFmpeg源码(v3.3.6)下载地址( http://www.ffmpeg.org/download.html#releases ) 2.下载NDK(r14b)下载地址( https://developer.android.google.cn/ndk/downloads/index.html) 3...

2021-09-09 21:26:12 276

原创 【Android】事件分发机制

wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); mRectHeight = wm.getDefaultDisplay().getHeight();

2021-07-07 16:23:28 185

原创 【Android】使用View.setId的正确姿势

这两天在写一个柱状图的自定义控件,用的直接继承ViewGroup的方式实现的,我们都知道,这是自定义控件里面最简单的一种了,有时间写个总结分享一下。这里我想说的重点是,在写这个自定义控件的时候遇到了个关于View.setId()小问题,在网上查了好多,有很多回答真是纯属扯淡,最后终于在stackoverflow上找到了零零碎碎的解决方案,stackoverflow真是一个好地方,几乎所有的问题都可...

2019-05-15 10:05:31 1216

原创 【Android】7.0系统解决拍照的问题android.os.FileUriExposedException:file:///storage/emulated/0/

FileProvider提供了一种解决办法,在Oncreate函数中if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder(); StrictMode.setVmPo...

2019-04-01 19:06:56 3754 1

原创 【TensorFlow&PyCharm】解决PyCharm ImportError: No module named tensorflow 详解

pycharm:ModuleNotFoundError: No module named ‘tensorflow’环境:pycharm版本:pycharm-community-2018.1.4Anaconda版本:Anaconda3-5.2.0-Windows-x86_64python版本:3.6.5pycharm非2018.1.4版本在之前的pycharm版本中遇到此问题是...

2019-03-20 19:35:52 1942

转载 【Tensorflow】Mac下TensorFlow安装及环境搭建

在学习了一段时间台大李宏毅关于deep learning的课程,以及一些其他机器学习的书之后,终于打算开始动手进行一些实践了。感觉保完研之后散养状态下,学习效率太低了,于是便想白天学习,晚上对白天学习的知识做一些总结和记录,如果有不妥的地方,欢迎大家批评指教,共同进步。一、深度学习框架的选择随着深度学习日趋火热,技术的逐渐兴起,各种深度学习框架也层出不穷。目前使用普遍的框架有Ten...

2019-03-20 19:34:35 1066 1

原创 【tensorflow】通过机器学习求解二元一次方程的参数

这里是一个最最简单的tensorflow的运用的例子,其中y=1.1x+0.5,此处要预测的就是1.1以及0.5的值,y还有x为变量。基本流程上来说就是:1、定义训练数据;2、定义训练规则;3、定义误差计算方法;4、定义训练算法;5、开始训练。具体的说明见注释。import tensorflow as tfimport numpy as np#初始化x_data的值与y_data的值...

2019-03-13 15:22:37 689

转载 如何处理iOS中照片的方向

转载自:这里使用过iPhone或者iPad的朋友在拍照时不知是否遇到过这样的问题,将设备中的照片导出到Windows上时,经常发现导出的照片方向会有问题,要么横着,要么颠倒着,需要旋转才适合观看。而如果直接在这些设备上浏览时,照片会始终显示正确的方向,在Mac上也能正确显示。最近在iOS的开发中也遇到了同样的问题,将拍摄的照片上传到服务器后,再由Windows端下载该照片,发现手机上完全正常的...

2018-12-12 17:11:52 826

原创 【Android】如何使默认图库中获得的图像旋转成正确的方向

代码:1.从EXIF中获取orientation:ExifInterface exif = null;try { exif = new ExifInterface(path);} catch (IOException e) { e.printStackTrace();} int orientation = exif.getAttributeInt(ExifInt...

2018-12-12 15:52:36 1478

转载 【Android】软件开发中遇到的LUT

提到LUT,很多人可能都会觉得这是一个很专业很高深的词汇,LUT其实就是Lookup Table(颜色查找表)的缩写,简单点儿理解就是:通过LUT,你可以将一组RGB值输出为另一组RGB值,从而改变画面的曝光与色彩。用一个最简单的模型帮助大家理解就是:如果我们规定:当原始R值为0时,输出R值为5;当原始R值为1时,输出R值为6;当原始R值为2时,输出R值为8;当原始R值为3时...

2018-10-15 11:29:07 1144

原创 【Android】图像滤镜框架GPUImage从配置到应用

GPUImage简介GPUImage 是iOS下一个开源的基于GPU的图像处理库,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜。GPUImage for Android是它在Android下的实现,同样也是开源的。其中提供了几十多种常见的图片滤镜API,且其机制是基于GPU渲染,处理速度相应也比较快,是一个不错的图片实时处理框架。GitHub地址:https://github....

2018-09-29 13:14:01 859

转载 【Android】Handler中sendMessage和sendToTarget的区别

     首先,sendMessage()是Handle的方法,sendToTarget()是Message的方法。       之前讲过,Message的接收一般都是在主线程中new一个Handle变量,重写里面的handleMessage(),在里面写上具体的实现代码,然后在需要发送Message的地方,用new的那个Handle变量的.sendMessage(Message msg)即可...

2018-09-10 20:46:22 1961

原创 【Android】获取控件的宽高和位置

获取控件的绝对位置(包括状态栏)可以用这种方法,调用方法后,location[0]和location[1]就分别被赋值了。 int[] location = new int[2]; view.getLocationOnScreen(location);获取控件的相对与当前窗口的位置可以用getLocationInWindow,如果控件在dialog中,则当前...

2018-09-10 16:39:02 614

原创 【Android】测量文字宽度位置measureText()和getTextBounds()

起因:使用paint.getTextBounds()方法可以获取到文字的宽高,高度正确,但是得到的宽度不精准。分析过程:百度看到别人也有遇到这个问题Android Paint: .measureText() vs .getTextBounds()于是将getTextBounds方法替换成measureText来测量文字的宽度。原因:To answer your questi...

2018-08-31 15:16:14 3913

原创 【Android】CardView设置阴影无效的问题

起因:想给相册页面里的照片全设置上阴影效果,结果添加了app:cardElevation="5dp"之后无效。分析:cardView的阴影被父布局挡住了。解决过程:尝试给父布局添加android:clipChildren="false"属性,无效。于是在cardView上想办法,增加了app:cardUseCompatPadding="true"之后,可以正常显示阴影。...

2018-08-29 15:51:21 7556 2

转载 【AndroidStudio】Mac环境下在Android Studio中关联源代码

在Android Studio中关联源码的方法:1.通过图形化界面配置;2.修改sdk目录下的jdk.table.xmlv 文件主要说下第二种修改方法:打开jdk.table.xmlv文件vim /Users/xxx/Library/Preferences/AndroidStudio2.x/options/jdk.table.xmlv注意:用户名和AndroidStudio版本号根据实际情况...

2018-08-14 16:53:44 1826

原创 【Git】他人合并分支后本地代码关联不上

起因:同事将其他分支代码合并过来后,由于有多处提交改动,我这里的Git就关联不到一些版本了。解决方法:先把本地代码stash起来 然后将代码reset到失去关联之前到那个版本 再清除工作区的一切修改 将stash的代码pop出来 解决冲突 2.关于reset的图形化界面操作(记得事先随时stash自己的代码):原文链接https://www.cnblogs.com/nin...

2018-08-07 12:34:23 764

转载 【Android】开发中用于替代Enum的@IntDef的使用

在Android的官方文档的内存管理中http://developer.android.com/training/articles/memory.html#Overhead提到由于Enum通常需要两倍以上的存储空间,因此应当尽量避免Enum的使用。对此,Google官方推出了IntDef作为对Enum的替代。以下通过一个具体的例子来说明其用法:例如我们有如下的一组Enum:public ...

2018-08-02 12:38:56 272

转载 【Android】performClick()方法

1. performClick()方法的作用:   performClick()方法 是使用代码主动去调用控件的点击事件(模拟人手去触摸控件) 2.  使用注意事项: 如果同时使用了view.setOnTouchListener()方法,则有可能存在拦截view.performClick()的响应事件, 因为当view.OnTouchEvent()在event.getActio...

2018-08-01 11:01:44 3108

原创 【Android】微信支付收不到onResp

起因:接入微信支付时,看到AndroidManifest.xml中package声明为onetake,于是将WXPayEntryActivity放在了onetake包下。结果无论如何都收不到调起支付后WXPayEntryActivity的onResp。分析:registerApp的Appid没写对,请求sendReq参数写错,或者是WXPayEntryActivity的位置出错。...

2018-07-27 16:26:00 2302

转载 【Android】MediaScanner 多媒体扫描流程

一、扫描方式在4.4平台之前可以通过两种方式来扫描多媒体文件:1、MediaScannerConnection.scanFile()方法,   MediaScannerConnection.scanFile(this,new String[] {Environment.getExternalStorageDirectory().getAbsolutePath()},null,  ...

2018-07-25 20:15:02 5336

转载 【Android】分享功能

安卓系统本身可以很简便的实现分享功能,因为我们只需向startActivity传递一个ACTION_SEND的Intent,系统就为我们弹出一个应用程序列表。其实在系统的文件管理器中,这应该是我们常用的功能(包括文件的打开Intent.ACTION_VIEW)。下面列出一个简单的分享方式Intent shareIntent = new Intent();shareIntent.setA...

2018-07-20 20:08:14 1229

转载 【Android】源码解析View.post()

emmm,大伙都知道,子线程是不能进行 UI 操作的,或者很多场景下,一些操作需要延迟执行,这些都可以通过 Handler 来解决。但说实话,实在是太懒了,总感觉写 Handler 太麻烦了,一不小心又很容易写出内存泄漏的代码来,所以为了偷懒,我就经常用 View.post() or View.postDelay() 来代替 Handler 使用。但用多了,总有点心虚,View.post(...

2018-07-20 18:44:53 859 1

转载 【Android】Activity进入和退出动画

方法一:自定义styles.xml文件,在AndroidManifest.xml清单文件中注册android:theme以实现动画,然后正常启动页面即可(application中设置应所有页面,activity中设置应用单个页面)注意事项: 1、activityOpenEnterAnimation、activityOpenExitAnimation指定的是入场动画 2、activityCloseE...

2018-07-09 10:50:48 3948

原创 【Android】子控件抢占父控件点击事件问题

有一个全屏的Activity,根布局是RecyclerView,每个item占一个屏幕,item内包含一个预览图片。需求是,在这个界面手指下滑,直接退出这个Activity。误区:一开始我在这个Activity的根布局设置了点击事件,在TouchEvent中的ACTION_DOWN和ACTION_UP中来判断手指滑动位置是否需要退出Activity。但是运行之后,点击事件的有效区域只有:除了图片外...

2018-07-04 20:18:17 7077

原创 【Android】修改Activity进入和退出动画

第一种方法:1.在调用 startActivity 或者 finish 后,调用 overridePendingTransition(anim_enter, anim_exit);2.在 Theme中复写掉系统默认的动画。(1)写一个Theme,继承自原Activity使用的主题 &lt;style name="Anim_fade" parent="MyAbstractFullscreenA...

2018-07-02 17:49:20 5226

转载 【Android】适配屏幕底部虚拟导航栏

//获取是否存在NavigationBar public static boolean checkDeviceHasNavigationBar(Context context) { boolean hasNavigationBar = false; Resources rs = context.getResources(); int ...

2018-07-02 10:54:11 2505

转载 【JAVA】HashMap源码深度解析

1 举栗子先来复习一下我们常用的几个方法[java] view plain copypublic class HashMapTest {        public static void main(String[] args) {          // TODO Auto-generated method stub          HashMap&lt;String, String&gt; ...

2018-04-30 11:37:25 322

原创 【Java】Java中的GC回收算法

Java的GC回收机制解决了三个主要的问题。1.哪些对象可以被回收2.何时回收3.以什么样的方式回收第一个问题:哪些对象可以被回收1.引用计数法    当一个对象被引用时,引用计数+1    缺点:如果两个对象相互引用,则永远无法被回收。2.根搜索算法    设立若干种根对象,当任何一个根对象到某一个对象均不可达,则该对象可以回收。    根对象可以是栈中的引用对象,类静态属性引用对象等。第二个问...

2018-04-29 18:31:00 578

转载 【Android】布局优化之include与merge

尊重原创,转载请注明出处:http://blog.csdn.net/a740169405/article/details/50473909Android 官方提供了三个用来优化布局的标签,分别是include、merge与ViewStub,其中ViewStub是动态加载视图到内存,大家可以查阅:Android UI布局优化之ViewStub一、include布局重用:在Android的应用程序开发...

2018-03-21 11:48:16 353

转载 【GPG】入门教程

原文链接: http://www.ruanyifeng.com/blog/2013/07/gpg.html作者: 阮一峰日期: 2013年7月12日前两篇文章,我介绍了RSA算法。今天,就接着来看,现实中怎么使用这个算法,对信息加密和解密。这要用到GnuPG软件(简称GPG),它是目前最流行、最好用的加密工具之一。一、什么是GPG要了解什么是GPG,就要先了解PGP。1991年,程序员Phil Z...

2018-03-14 21:08:21 595

sublime主题配色

sublimeText2主题配色,使用简单,一键导入,无后顾之忧。

2017-11-18

APK反编译工具合集

APK反编译工具老三套。

2017-07-16

android开发使用的ADB免安装版

2017-01-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除