10 2018 档案

摘要:一、前言 为啥要写这篇博客?答:之前学习的C和C++相关的知识,早就被自己忘到一边去了。但是,随着音视频的学习的不断深入,和C/C++打交道的次数越来越多,看代码是没问题的,但是真到自己操刀去写一些代码的时候,很容易出现问题和疑问,为了解决这些问题,那么只能买相应的书,一边看一边整理思路,并对收获进 阅读全文
posted @ 2018-10-29 20:24 灰色飘零 阅读(1511) 评论(0) 推荐(2) 编辑
摘要:为了避免同一个文件被include多次,我们可以通过以下两种方式来进行宏定义: 1. #ifndef方式2. #pragma once方式 在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 方式一: 方式二: #ifndef 的方式依赖于宏名字不能冲突,这不光 阅读全文
posted @ 2018-10-27 22:05 灰色飘零 阅读(599) 评论(0) 推荐(3) 编辑
摘要:为何加上“国产”二字呢,因为目前测试时就国产手机存在的安装问题多,而且都很奇葩,不得不说对于开发者时很不友好的。 下面就是个人总结的针对不同的机型调试时出现的问题做的总结: 1、VIVO 手机 解决方案: 二、华为手机 1. 真机调试无法使用 在Android开发中,一直在使用华为的荣耀8进行调试, 阅读全文
posted @ 2018-10-19 18:21 灰色飘零 阅读(1533) 评论(1) 推荐(2) 编辑
摘要:一、技术关键点 1. 音频采集:设置合理的采样参数,包括采样率、通道数、采样深度。 2. 视频采集:手机摄像头采集输出的格式(NV12/NV21/YV12),要注意相互间的转换,以及采集出来图像的方向应该根据那种策略进行旋转,尤其在android设备需要做更多的兼容性测试。 3. 编码和解码:熟悉的 阅读全文
posted @ 2018-10-17 17:34 灰色飘零 阅读(1538) 评论(0) 推荐(3) 编辑
摘要:一、说明 官方原文如下: We hope the division between android.* and androidx.* makes it more obvious which APIs are bundled with the platform, and which are stati 阅读全文
posted @ 2018-10-17 16:45 灰色飘零 阅读(1012) 评论(0) 推荐(2) 编辑
摘要:我们知道OkHttp走的并不是原生的http请求,因此在header里面并没有真正的User-Agent,而是“okhttp/版本号”这样的字符串,因为后台需要统计信息,要求传入正确的User-Agent,那么我们如何获取User-Agent并设置给Okhttp呢? 一、获取User-Agent p 阅读全文
posted @ 2018-10-17 16:13 灰色飘零 阅读(9653) 评论(0) 推荐(2) 编辑
摘要:早在几年前,谷歌就推荐在Android2.3版本以上使用HttpURLConnection,而在即将正式发布的 Android P 版本中,谷歌彻底取消了对Apache HTTPClient的支持,针对此更改,开发者该如何正确适配 Android P ? 一、背景 1.参考谷歌提供的 Android 阅读全文
posted @ 2018-10-16 15:36 灰色飘零 阅读(8708) 评论(0) 推荐(2) 编辑
摘要:一、使用 org.apache.http.legacy 库在Android 9.0上运行出现崩溃 日志内容: 或者 问题分析: 出现此问题主要是 apache 的 http 库在android 9.0删除导致的,出现此问题应该是使用了 apache 的http库。 修改建议: 尽量不要再使用http 阅读全文
posted @ 2018-10-16 10:24 灰色飘零 阅读(6937) 评论(0) 推荐(2) 编辑
摘要:一、使用 == 与 equals == : 它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象。(基本数据类型==比较的是值,引用数据类型==比较的是内存地址) equals() : 它的作用也是判断两个对象是否相等。但它一般有两种使用情况: 情况1:类没有覆盖equals() 阅读全文
posted @ 2018-10-09 18:28 灰色飘零 阅读(17972) 评论(1) 推荐(4) 编辑
摘要:一、概述 在Android开发中,我们对一些音视频的处理比较无力,特别是编辑音视频这部分。而且在Android上对视频编辑方面,几乎没有任何API做支持,MediaCodec(硬编码)也没有做支持。那怎么办呢?在FFmpeg命令行工具学习(三):媒体文件转换工具ffmpeg中我们知道ffmpeg命令 阅读全文
posted @ 2018-10-09 16:58 灰色飘零 阅读(1863) 评论(0) 推荐(2) 编辑
摘要:一、什么是自旋锁? 自旋锁(spinlock):是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。 获取锁的线程一直处于活跃状态,但是并没有执行任何有效的任务,使用这种锁会造成 busy-waiting。 它是 阅读全文
posted @ 2018-10-08 18:03 灰色飘零 阅读(4814) 评论(0) 推荐(2) 编辑
摘要:一、悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是 阅读全文
posted @ 2018-10-08 17:43 灰色飘零 阅读(26101) 评论(0) 推荐(10) 编辑

点击右上角即可分享
微信分享提示