06 2019 档案
摘要:遇到此错误的原因是cmake服务器协议版本不匹配; 解决方案: 1:直接更新android studio看能否解决; 2:如果解决不了,那么将androidstudio,ndk ,cmake,gradle全部更换为最新的,在根目录的gradle.build中更换gradle版本号;如果还报错提升根目
阅读全文
摘要:native-lib.cpp 代码中的一些概念补充: 1.结构体中的 numInterfaces , pInterfaceIds , pInterfaceRequired ,这里以创建播放器所调用的 CreateAudioPlayer 函数为例说明: 各参数含义如下: SLEngineItf C语言
阅读全文
摘要:1. OpenSL ES 是什么 OpenSL ES (Open Sound Library for Embedded Systems)是无授权费、跨平台、针对嵌入式系统精心优化的硬件音频加速API。它为嵌入式移动多媒体设备上的本地应用程序开发者提供标准化, 高性能,低响应时间的音频功能实现方法,并
阅读全文
摘要:混音器是处理音频的一种装置,分为软件类型和硬件类型。由于原理不同,软件类型的混音器和硬件类型的混音器的应用也大不相同,前者主要用于音频处理,后者主要用于音响设置。 软件类型的混音器 软件类型的混音器,是将多个音频文件、线路输入音频信号混音后,合成单独的音频文件; 它的作用主要是对不同的音频频率进行不
阅读全文
摘要:刚开始创建项目的时候并没有勾选“include C++ support” 选项: 后期增加步骤: 1.拷贝已有支持C++项目的CMakeLists.txt文件到现有项目的app目录下; 2.在app/src/main 目录下新建cpp文件夹; 3.修改app目录下的build.gradle文件,分别
阅读全文
摘要:一、invalidate和postInvalidate 这两个方法都是在重绘当前控件的时候调用的。invalidate在UI线程中调用,postInvalidate在非UI线程中调用。因为android的UI线程是非线程安全的,所以在非UI线程中,需要使用postInvalidate来使View重绘
阅读全文
摘要:绘制圆环很多时候会用到Canvas的drawArc方法, drawArc()方法的说明很简单: 第一个参数 oval:定义承载圆弧形状的矩形。通过设置该矩形可以指定圆弧的位置和大小。 第二个参数 startAngle: 设置圆弧是从哪个角度顺时针绘画的。 第三个参数 sweepAngle: 设置圆弧
阅读全文
摘要:prepare方法是将资源同步缓存到内存中,一般加载本地较小的资源可以用这个,如果是较大的资源或者网络资源建议使用prepareAsync方法,异步加载.但如果想让资源启动,即start()起来,因为在异步中,如果不设置监听直接start的话,是拿不到这个资源,如果让线程睡眠一段时间,则可以取得资源
阅读全文
摘要:最近使用MediaPlayer + TextureView 实现了一个视频播放器,并且实现了它的横竖屏切换的效果,唯一美中不足的是在横竖屏切换的时候画面会卡顿一下,虽然也不影响播放,但是怕测试会报Bug,到时候还得自己解决,所以就先把这个问题处理下,并记录之: TextureView的监听方法有以下
阅读全文
摘要:打开项目根目录下的 build.gradle(Project:项目名称一级的gradle),如下所示添加阿里 maven 库地址: // Top-level build file where you can add configuration options common to all sub-pr
阅读全文
摘要:使用ListVIew 来设置EmptyView的时候须注意: 如果你直接在XML中包含了emptyView,那么也就不需要再额外添加到Viewhierarchy中了,因为它已经在那儿了。 例:
阅读全文
摘要:Android Studio今天早上打开项目提示错误信息: 重新打开文件或者重新同步工程都无解,最后在https://stackoverflow.com/questions/50740240/no-idea-annotations-attached-to-the-jdk-1-8-c-some-iss
阅读全文
摘要:Android studio Error “Unsupported Modules Detected: Compilation is not supported for following modules” Solution 1: File -> Invalidate Caches / Restar
阅读全文
摘要:DownloadManager 使用Uri指定下载路径Bug 使用DownloadManager 下载文件 通常写法: 7.0之前 获取Uri 并作为文件下载路径 可以这样: 获取到的Uri 以file://开头 7.0之后 需要借助FileProvider来加密文件的Uri 如下: 获取到的Uri
阅读全文
摘要:1、问题描述 今天使用Android系统的DownloadManager进行下载操作时,爆了如下所示的错误: 其中相关的部分代码如下: 2、解决方法 原来其中的一段代码是需要相应的权限 android.permission.DOWNLOAD_WITHOUT_NOTIFICATION 因此在Andro
阅读全文
摘要:代码行数写多了,想找一个指定的方法真困难,关键有时候记不住方法的名字,用Ctrl+O也不好使,突然想到以前做iOS开发时,XCode里有一个#pragma mark的功能,很好用:在代码中定义这样一个标记,然后在编辑区的上方直接点击这个标记就可以跳转到指定的代码处。那Android Studio有没
阅读全文
摘要:最近在做一个播放器,需要实现一个从小屏切换到全屏的效果,我用的是TextureView + MediaPlayer 的方式去实现,当需要切换成全屏时,我在 TextureView 的 onSurfaceTextureDestroyed 方法中将MediaPlayer的 setSurface 方法置成
阅读全文
摘要:区别与联系 View: 显示视图,内置画布,提供了图形绘制函数、触屏事件、按键事件函数等,必须在UI主线程内更新画面,速度较慢; SurfaceView: 基于view视图进行拓展的视图类,更适合2D游戏的开发,是view的子类,使用了双缓冲机制,即:允许在子线程中更新画面,所以刷新界面速度比vie
阅读全文