- 博客(30)
- 资源 (15)
- 收藏
- 关注
原创 android studio 2023.2.1 Patch 2 打开项目后Notfication疯狂打印adb 启动失败的问题
macOS 14.4 版本 android studio 2023.2.1 Patch 2,切勿升级platform-tools到35.0.1或35.0.1,两个版本均无法在as中正常开启adb服务,必须手动在terminal中启动,建议回退到34.0.5版本,地址:https://android.googlesource.com/platform/packages/modules/adb/+/refs/tags/platform-tools-34.0.5。
2024-04-12 12:01:06 463
原创 关于Android上ijkplayer-k0.8.8版本,播放rtsp延迟问题的一种解决方案
关于解决ijkplayer播放rtsp是延迟的一种解决方案
2023-02-02 16:26:19 2362 2
原创 单例注解框架EasyInject —— 减少书写冗余的模板型代码
EasyInject旨在于使用注解解决减少书写常用的模板型代码,目前支持单例注解dependencies添加依赖def easy = '1.0.0'implementation 'com.lakehubo:easyinject:$easy'annotationProcessor 'com.lakehubo:injectutilAnnotationProcessor:$easy'use it@Singleton()public class SingleTonTester {
2020-07-21 22:16:59 318
原创 自定义BottomSheetBehavior控件
HBottomSheetBehavior自定义上拉dialog,由于Android原生自带的BottomSheetBehavior有冗余的中间折叠状态与半展状态 当需要实现一种简单的上拉框时,只需展开和隐藏状态,且当view低于某个窗口高度比例时才触发隐藏,否则回弹到全展开状态时,利用原生控件难以达到简单的需求所以,我复制下了原生BottomSheetBehavior的代码,并进行了简单的裁剪,达到了上述的目的。 详细的使用可以参考demo 后续会逐渐更新优化github传送门:https://git
2020-05-21 17:45:53 1370
原创 CMake简介和初步使用
CMake官方网址CMake是一个开源、跨平台的工具系列,用于构建、测试和打包软件。CMake利用简单的平台和独立于编译器的配置文件来进行控制软件编译过程,并生成可在当前编译器环境中使用的makefile和工作区。这套CMake工具是由Kitware创建的,以响应对ITK和VTK等开源项目的强大的跨平台构建环境的需求。一个简单的例子(Step 1)一个最简单的例子是从源代码文件中构建一个可执行文件。对于一个简单的项目,只需要一个三行的CMakeLists.txt文件。在Step1目录中创建一个CMak
2020-05-09 12:02:49 258
原创 android 图片/视频混合轮播控件banner
android 图片/视频混合轮播控件banner在youth5201314的图片轮播控件做的修改原作者github地址:https://github.com/youth5201314/banner原作者许久没有维护这个控件了,所以我在此控件基础上做了一些修改,新增视频图片混合轮播的形式,并且可以自定义每个子视图的播放显示时间github传送门:https://github.com/l...
2019-05-21 16:46:57 12331 76
原创 android NV21裁剪算法
NV21裁剪算法简要简要最近,在做Android摄像头预览方法的事情,usb摄像头出来的数据都是16:9的,无法正常在竖屏状态下显示,所以就要对摄像头的数据进行裁剪处理,摄像头出来的数据是NV21(就是yuv420sp)格式,libyuv的裁剪算法是针对i420格式进行操作,裁剪NV21就得进行格式转换,一个裁剪需要三个操作,效率可想而知,经过测试libyuv对1920x1080进行裁剪,在r...
2019-03-23 16:14:29 3430 14
原创 mac 编译 android8.1源码简记
源码编译简记编译环境搭编译环境编译过程运行编译好的源码编译环境macbook pro 13.3 15款2.9 GHz Intel Core i5OS 10.13.6 (17G5019)内存 16 GB 1867 MHz DDR3SSD 500G编译源码当然是cpu越高越好 我这个配置编译android8.1源码 花了4-5个小时基本上你能搜到的教程其实都差不多,也能使用,也可以...
2019-03-07 20:14:23 492
原创 Android 获取USB输入设备信息/区分虚拟键盘和外接键盘输入
Android 获取USB等多个输入设备信息-InputDeviceActivity内的onKeyDown函数可以捕获输入设备的输入,但是如果android接了多个usb或者其他接口的输入设备,这时候,怎么获取不同输入设备的信息呢?如果能获取到这个输入设备的信息,我们就可以区分不同的输入设备来响应不同的事件。所以翻了一KeyEvent这个类,查看了里面的方法,发现有这么一个类InputDe...
2018-11-28 12:53:00 8022 1
原创 android利用线程池进行并行计算加速并且返回计算结果
###这个方法适合大量数据比对,或者单次计算互不影响的情况线程池之前用过,但其实没有遇到过大量计算时候,还是没有进行过深入的了解和比较,正好,这次需要用到多线程并行计算并且同时返回计算结果的这么一个需求,网上找了一大圈,可能是搜索方式不对吧,相应的介绍比较少,大多都是无返回结果的并行计算,后来找到了对应方法,但是,写法不对的话是会用坑的这里我就简单介绍一下,关于利用线程池,进行多线程并行计...
2018-11-05 15:23:50 1462
原创 web 基于jquery和canvas的打飞机小游戏
简易的 利用canvas 实现打飞机 h5里的canvas应该是很强大的,能做的东西很多,因为也是刚接触,所以,尝试用canvas实现了一个简易的网页打飞机小游戏。本来想用一下worker工作线程,但是一下也没想到很好的方案,而且,本来js也没有多线程的概念,因为js是单线程的。canvas基本的api我前面的博客也介绍了,有这些基本api方法已经可以做很多事情了。 今天我们就来实...
2018-09-02 16:59:02 1634
原创 Web 利用 画布 canvas 自定义拖动插件
自定义拖动插件之前学习了canvas标签以及它自带的一些api,发现其实这个东西有点类似与android里的canvas,不过用法上区别还是很大的,但是在实现自定义控件/插件时候,其实原来都是一样的。当然,我这个web的插件需要用到jquery,参考bootstrap插件开发方式,总结出有如下固定模式或者说模版(function ($) {//闭包限定命名空间,防止全局污染 v...
2018-08-21 09:59:23 3885 3
原创 web 画布 canvas 标签使用
画布标签只有IE9之后才支持画布<canvas id="lookwhatIdrew" width="600" height="200" &am
2018-08-02 11:24:18 1170
原创 Web h5开发 初学总结
html5 = 标记+javascript api+cssHTML标记(也称为结构)CSS样式(也称为表示)JavaScript(也称为行为)H4<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.3c.org/TR/html4/strict.
2018-07-25 11:28:15 15589
原创 ffmpeg 获取多个音频流(音轨)的语言信息
需要获取视频文件中音频流的信息,比如语言什么的,后来发现,这些信息都包含在AVDictionary这个结构体里。下面列出获取方法AVFormatContext *pFormatCtx = avformat_alloc_context();for (int i = 0; i < pFormatCtx->nb_streams; i++) { if (pForm...
2018-04-13 00:35:52 4470
转载 ffmpeg ffplay.c源码 注释 详解
/* * Copyright (c) 2003 Fabrice Bellard * * This file is part of FFmpeg. * * FFmpeg is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public...
2018-03-26 15:33:24 2560
原创 android ffmpeg+opensl 音频解码播放、暂停、进度seek、时间、上/下一首
类似文章太多,但是大多代码都有内存溢出的问题,而且都缺少c层调用java层的例子,实际上有了参考博文后,还是有很多坑需要自己填。不过,看了很多博主和帖子后还是能够解决一些问题,但是有些问题,根本找不到,所以我把音频解码播放还有控制部分做了比较详细的例子。ffmpeg的编译请参考我之前的文章,有编好的库文件在我的下载资源里,github的demo里也有。opensl库的引用也很简单,cmak...
2018-03-25 20:23:43 3053
原创 android ndk开发 定位native层c/c++语言的错误行号,崩溃行号。
mac系统 android studio ndk 开发时候,android层的崩溃或者报错,as是可以定位到具体哪行的,但是,我们在ndk编译c语言时候,c如果有逻辑出错,崩溃,as运行日志是打印不出来具体哪行报错,导致程序崩溃,为了定位c语言 native层的崩溃代码行号,addr2line的方法试了没有任何效果,找到以下方案可用。而且还是实时的打印。非常的方便。1.运行终端。 跳转到你an...
2018-03-23 00:06:07 2115
原创 android ffmpeg视频硬解码例子
android ffmpeg mediacodec 硬解码ffmpeg 3.1以后 ffmpeg加入了硬解。 用法其实很简单,首先编译一个带硬解码的ffmpeg 库文件。#!/bin/bashPLATFORM=/Users/lake/test/android-ndk-r14b/platforms/android-19/arch-arm/TOOLCHAIN=/Users/lake/...
2018-03-19 23:38:47 10904 60
原创 Mac 环境下ffmpeg编译出现 errno.h: No such file or directory 错误问题
Mac 环境下ffmpeg编译出现 errno.h: No such file or directory 错误问题这个问题困扰了我一下午,后来仔细分析了一下,发现是编译脚本的问题,之前一度认为脚本没有问题,可能是ffmpeg本事版本更新后的问题,其实不是。在此列出解决办法。 首先需要明确的是,ffmpeg的release版本下下来都是没有问题的,通过官网或者git。别直接clone git上...
2018-03-19 09:32:27 10074
原创 Android6.0 连接指定的wifi
android6.0之后 wifi机制有了变化,如果连接的wifi没有网络,那么系统会自动切换Wi-Fi。这个可能对我们wifi方面的开发有影响,比如,我们要求连接wifi的本身就是不能访问外网的,仅仅是为了两个设备之间的通讯,这个时候,我们就需要一点小处理。 开发wifi方面的就必须要掌握WifiManager这个类,所有对android的wifi操作都是通过这个类,这里为了方便使用,封装了一...
2018-03-16 14:22:05 8915 20
原创 Android 基于FFmpeg的视频播放渲染 CMake + ANativeWindow
android 基于FFmpeg的视频播放为了学习android jni方面的姿势,利用之前编好的ffmpeg库so文件,实现一下android上面调用ffmpeg来解码播放视频。相信大家都看过雷神的博客了,但是对于现在ffmpeg3.0以上,雷神之前提供代码也过时了,运行也有问题,再者现在用jni也不通过mk的方式了,有as自带的cmake方式,所以本篇介绍的的方法都是用最新的方式去实现的。...
2018-03-16 13:51:54 1211 1
原创 Mac 编译FFmpeg4.2.1 并合成单个so文件
Mac 编译FFmpeg成一个SO库FFmpeg使用第三步,编译FFmpeg成一个SO库.编译环境macOS High Sierri 10.13.3android-ndk-r14bFFmpeg 3.4.2简介由于ffmpeg编译的so数目繁多,直接使用这些类库还是比较麻烦的. 因此可以将它们合并为一个类库 libffmpeg.so .操作步骤与编译多个so的脚本不同,这个脚本不再需要修改Conf...
2017-08-28 16:41:39 3271
原创 android自定义view 右侧字母导航
android自定义view 右侧字母导航这次需求是做一个带右侧字母导航的国家地区的选择页面,这个效果在微信通讯录里就有展现,对于ios来说,直接一个控件就搞定,但是android是没有这样的控件的,所以要在android里实现这样的效果就不得不自己去自定义view了。
2017-08-16 13:47:23 7947
原创 Error:Execution failed for task ':app:mergeDebugResources'. > Error: java.util.concurrent.ExecutionE
Error:Execution failed for task ':app:mergeDebugResources'.> Error: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: android studio 更新2.2.3后 原来的项目报错说找不到R文件
2016-12-09 18:05:30 2800 1
原创 android 横竖屏切换 不重新加载activity
manifest 文件中对应activity添加属性android:configChanges="keyboardHidden|orientation|screenSize"
2016-08-29 11:12:54 1404
原创 Android studio 导入依赖工程(导入其他工程作为lib)
eclipse 导入工程作为lib非常简单,但是换了android studio 之后,很多人可能都不知道该然后将其他工程导入现有项目作为依赖工程lib,在这里有两种方法,一种是android studio直接导入eclipse的工程项目作为lib,另一种是导入android studio 的工程作为lib,两种导入方式略有区别,导入eclipse项目较为简单,这里不再阐述。这里我来给大家介绍一下,
2016-04-26 11:24:53 9213 2
原创 VideoView 获取当前播放时间
VideoView 获取当前播放时间最近在做视频,遇到这么个需求,播放视频中途退出时候记录当前播放的时间,播放视频,最简单的就是VideoView了,但是,官方并没有提供获取当前播放时间的方法,只有个getCurrentPosition()方法,可以获取当前播放的进度。 一般用VideoView时候都会配合MediaController来使用,MediaController就带有显示当前时间和总时
2016-04-20 11:37:25 10244
原创 ViewPager 循环播放广告
ViewPager 循环播放广告导航这段时间,做android首页时候,看见很多应用都有这个自动播放的广告导航效果,于是就网上找了很多例子来参考。不过,别人的并不一定试用于自己的情况,不过参考价值还是很大的。首先明确做这个广告导航的一点就是需要用viewpager,这个控件非常简单粗暴,在android studio里或者eclipse里创建android项目时候,我们可以在创建activity时
2016-04-20 09:22:05 652
原创 android真机模拟程序 root权限下 查看项目数据库
android真机模拟程序 root权限下 查看项目数据库作为刚入门android开发的小白菜,开发是一件特别有成就感的事情,但是自己的笔记本带不起android虚拟机是痛啊,只能从朋友那里搞了个退休下来的小米3做测试机,虽然老了点,但是学习Android是够用了,那么学着学着就接触到sqlite数据库这里了,学着用SqliteOpenHelper,在这里跌了很多坑,现在就把我遇到的一些问题及解决方
2015-11-14 09:51:50 596
nrfgostudio_win-64_1.21.1_installer.zip
2019-12-10
android ffmpeg3.4.2 硬解软解视频+nativewindow渲染例子
2018-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人