![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
音视频
文章平均质量分 96
却把清梅嗅
Android开发者,爱好写作,曾多次作为嘉宾受邀参加GDG (Google Developer Groups)线下活动进行分享。
展开
-
中秋节听夜曲,Android OpenGL 呈现周董专属的玉兔主题音乐播放器
前几天发现QQ音乐有个好玩的功能,为用户提供了多种播放器主题,其中原神的主题让我眼前一亮:当然,诸如换肤、主题类的功能已经屡见不鲜,但这类沉浸式播放器的听歌体验确实不错。见猎心喜,正好中秋马上就到,我也尝试整个中秋主题音乐播放器试试水。整体思路有2点:首先是技术方面,纯粹的ImageView图层堆砌来实现,渲染效率太低OpenGL是一个不错的技术方案(QQ应该也是这么实现的),顺便复习下图形学的知识。其次是玩法上,干脆在基础的功能上加一些更好玩的。原创 2023-09-21 23:34:52 · 777 阅读 · 0 评论 -
反思: Google 为何把 SurfaceView 设计的这么难用?
如果你有过SurfaceView的使用经历,那么你一定和我一样,曾经被它所引发出层出不穷的异状折磨的怀疑人生—— 毕竟,作为一个有理想的开发者,在深入了解 SurfaceView之前,你很难想通这样一个问题: 为什么 Google 把 SurfaceView 设计的这么难用?原创 2022-09-06 17:13:22 · 14293 阅读 · 8 评论 -
Android OpenGL 仿自如 APP 裸眼 3D 效果
概述之前看到 自如团队 发布的 自如客APP裸眼3D效果的实现 ,非常有趣,不久后,社区内 Android 的开发者们陆续提供了 Flutter、 Android 原生 、Android Jetpack Compose 等不同的实现版本。很快我看到了一个好玩的评论:既然客户端都卷成这样了,干脆破罐破摔,把 Android OpenGL 的实现版本也补齐,毕竟 图形学或许会迟到,但绝不会缺席 。实现效果如下(图片来源),这一波属实参与到社区内裸眼3D的 客户端大满贯 了 :原理简介 & O原创 2021-11-28 23:42:01 · 5638 阅读 · 0 评论 -
Android 分场景集成不同音频倍速算法的实现
概述上文 《Android 音频倍速的原理与算法分析》 中, 我们针对音频倍速的基本原理进行了梳理,并逐步引申出了 Android 平台上常用的2种算法实现:Sonic 和 SoundTouch。初步结论是,在用户启用音频倍速时,我们需要 根据具体场景切换不同实现 ,以此保证最佳的用户体验。举例来说,对于常规音乐——尤其是背景乐、打击感比较强的音乐,我们优先选择 SoundTouch, 而对于人声更纯粹的音频(相声评书、歌手清唱等)而言,Sonic 才是更好的选择。本文以 Google 开源的 E原创 2021-11-13 23:42:54 · 3853 阅读 · 1 评论 -
Android 音频倍速的原理与算法分析
概述音视频倍速 是内容类APP非常重要的功能,其内部包含了 视频流 和 音频流 的倍速,其中视频倍速原理相对简单,即在解码视频帧时提升帧率即可。音频倍速 相对复杂,众所周知,声音的本质其实是 物体振动时产生的声波,因此音频的倍速是 将语音信号在时域上拉长或缩短,考虑到用户的体验,在保证声音变速的同时,语音的采样率、基频以及共振峰都不能发生变化,以此达到 变速不变调 的目的。对于 Android 平台的应用而言,音频倍速通常有3种实现方式:实现方案应用简介Android Audi原创 2021-10-31 00:58:20 · 6566 阅读 · 2 评论 -
反思 | Android 音视频缓存机制的系统性设计
反思 系列博客是我的一种新学习方式的尝试,该系列起源和目录请参考 这里 。背景在自媒体的时代,音视频播放 俨然已成为内容类型 APP 最基础的能力,对于 Android 开发者而言,无论是 Google 开源的 ExoPlayer ,还是 Bilibili 开源的 ijkplayer , 都是构建应用音视频播放能力时优秀的选择。虽然上述的三方播放器都自带完善的缓存功能,但对于内容和形式都日新月异的一众互联网产品来说,想要打造完美契合自家产品的用户体验,播放器自身的缓存机制已逐渐无法满足需求。最具.原创 2021-09-25 22:47:47 · 856 阅读 · 0 评论 -
[译] Android Visualizer 可视化器的自定义实现
原文:An alternative Android Visualizer作者:Dániel Zolnai译者:却把清梅嗅听音乐时,有时你会看到那些视觉上令人愉悦的跃动条,它们音量越大跳得越高。通常,左边的条形对应的频率较低(低音),而右边的条形对应较高的频率(高音):这些跃动条通常被称为 视觉均衡器 或 可视化器,若想在 Android 应用中展示类似的可视化效果,你可以使用 Android 原生的 Visualizer 类,它是Android框架中的一部分,且能够附加到你的 AudioTra.翻译 2021-08-14 08:36:14 · 2263 阅读 · 0 评论