乐乐音乐Kotlin版
简介
乐乐音乐Kotlin版,主要是基于ExoPlayer框架开发的Android音乐播放器,它支持lrc歌词和动感歌词(ksc歌词、krc歌词、trc歌词、zrce歌词和hrc歌词等)、多种格式歌词转换器及制作动感歌词、翻译歌词和音译歌词。
编译环境
Android Studio Jellyfish | 2023.3.1 Canary 1
kotlin
jetpack-compose
节点服务器
gitee、gitea和gitcode,后续需要探究更多的节点服务器
项目存在问题
LazyColumn+paging:没写占位符,会存在重复调用网络接口获取数据的问题。
使用ExoPlayer库处理音频,对于网络歌曲只做了缓存,并没有下载。
多行歌词1秒30帧都好流畅,而桌面歌词在部分机型上面需要1秒120帧才能保证流畅,如果歌词显示卡顿,可适当调节刷新时间。
参考
Android 媒体使用入门:https://developer.android.google.cn/media/guides?hl=zh_cn
Jetpack Compose 使用入门:https://developer.android.google.cn/develop/ui/compose/documentation?hl=zh-cn
动画和过渡:https://developer.android.google.cn/develop/ui/views/animations?hl=zh-cn
Compose 中的触控和输入操作:https://developer.android.google.cn/develop/ui/compose/touch-input?hl=zh-cn
如何在 WindowManager.addView 中使用 Jetpack Compose:https://www.cnblogs.com/joy99/p/17927135.html
android Jetpack合成,使用自定义生命周期/ViewModelStore/SavedStateRegistry Owner时不会触发重组:https://www.saoniuhuo.com/question/detail-2258682.html
部分界面预览








相关文章:
乐乐音乐Kotlin版
简介 乐乐音乐Kotlin版,主要是基于ExoPlayer框架开发的Android音乐播放器,它支持lrc歌词和动感歌词(ksc歌词、krc歌词、trc歌词、zrce歌词和hrc歌词等)、多种格式歌词转换器及制作动感歌词、翻译歌词和音译歌词。 编译环境 Android Studio Jellyfish | …...
C语言——预处理和指针
C语言——预处理和指针 预处理宏宏定义宏的作用域带参的宏 文件包含条件编译 指针指针的概念指针的定义指针变量初始化指针一维整型数组 预处理 编程的流程分为:编辑、编译、运行、调试四个阶段; 预处理属于编译阶段,编译过程又可以分为&…...
iptables防火墙(一)
目录 1、Linux防火墙基础 2、iptables的四表五链结构 2.1 iptables的四表五链结构介绍 2.2 四表五链 2.2.1 四表 2.2.2 五链 2.3 包过滤的匹配流程 2.3.1 规则链之间匹配顺序 2.3.2 规则链内部的处理规则 2.3.3 数据包过滤的匹配流程 3、 编写防火墙规则 3.1 iptabe…...
(leetcode学习)50. Pow(x, n)
实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。 示例 1: 输入:x 2.00000, n 10 输出:1024.00000示例 2: 输入:x 2.10000, n 3 输出:9.26100示例 …...
QT 5.12.0 for Windows 安装包 QT静态库 采用源码静态编译生成
qt-5.12.0-static.zip 下载地址(资源整理不易,下载使用需付费,且文件较大,不能接受请勿浪费时间下载): 链接:https://pan.baidu.com/s/1ftfHFG_jGFwVaOAvBVrNFg?pwdtvtp 提取码:tvtp...
【生成式人工智能-三-promote 神奇咒语RL增强式学习RAG】
如何激发模型的能力 提示词 promotCoTRL 增强式学习Reforcement learning提供更多的资料提供一些范例Incontext- learning 任务拆解让模型自己检查错误让模型多次生成答案Tree of Thoughts让模型使用其他工具RAG写程序POT其他工具 让多个模型合作参考 在模型不变的情况下&#…...
C++连接oracle数据库连接字符串
//远程连接,需要安装oracle客户端sprintf(szConnect4, ("Provider OraOLEDB.Oracle.1; Password %s; Persist Security Info True; User ID %s; Data Source \"(DESCRIPTION (ADDRESS_LIST (ADDRESS (PROTOCOL TCP)(HOST %s)(PORT 1521)) )(CONN…...
判断字符串是否接近:深入解析及优化【字符串、哈希表、优化过程】
本文将详细解析解决这个问题的思路,并逐步优化实现方案。 问题描述 给定两个字符串 word1 和 word2,如果通过以下操作可以将 word1 转换为 word2,则认为它们是接近的: 交换任意两个现有字符。将一个现有字符的每次出现转换为另…...
C 和 C++ 中信号处理简单介绍
信号处理是编程中一个重要的主题,特别是在需要处理异步事件和错误情况的系统中。在 C 和 C 语言中,信号处理机制提供了一种优雅的方式来响应特定的系统事件,例如用户中断、异常情况或其他信号。在这里,我将详细介绍 C 和 C 中信号…...
什么是云边协同?
当今信息技术高速发展的时代,"云边协同"(Edge Cloud Collaboration)已经成为一个备受关注的话题。它涉及到云计算和边缘计算的结合,为数据处理、存储和应用提供了全新的可能性。本文将介绍云边协同的概念、优势以及在不…...
YOLOv5改进 | 主干网络 | 将backbone替换为MobileNetV2【小白必备教程+附完整代码】
秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录: 《YOLOv5入门 改…...
ARMxy边缘计算网关用于过程控制子系统
在现代工业生产中,过程控制系统的优化对于提高生产效率、保证产品质量、降低能源消耗等方面都具有重要意义。而 ARMxy 工控机作为一种高性能、高可靠性的工业控制设备,正逐渐成为过程控制系统优化的新选择。 ARMxy 工控机采用了先进的 ARM 架构处理器&am…...
Python | TypeError: unsupported operand type(s) for +=: ‘int’ and ‘str’
Python | TypeError: unsupported operand type(s) for : ‘int’ and ‘str’:深度解析 在Python编程中,遇到“TypeError: unsupported operand type(s) for : ‘int’ and ‘str’”这类错误通常意味着你尝试将一个整数(int)和…...
什么是开源什么是闭源?以及它们之间的关系
开源软件(Open Source Software) 定义:开源软件是指其源代码可以被公众访问和使用的软件。用户可以查看、修改和增强软件的源代码。 许可:通常遵循特定的开源许可证,如GNU通用公共许可证(GPL)、…...
SpringBoot+Mybatis Plus实际开发中的注解
SpringBoot+Mybatis Plus实际开发中的注解 实体类Service层Mapper层Controller层启动类配置类SpringBoot+Mybatis Plus实际开发中的注解 实体类 @Data : 底层实现了getter、setter、toString、hashCode、equals 和无参构造@AllArgsConstructor: 底层实现了有参构造@NoArgsCon…...
【香橙派系列教程】(八)一小时速通Python
【八】一小时速通Python 本章内容服务于香橙派下的开发,用C语言的视角来学习即可,会改就行。 详细说明,请看链接:python全篇教学 Python是一种动态解释型的编程语言,Python可以在Windows、UNIX、MAC等多种操作系统上 使用&…...
了解JavaScript 作用、历史和转变
JavaScript 是一种即时执行的脚本语言,其代码在浏览器环境中通过内置的 JavaScript 引擎被动态地一行接一行地解释执行。这一特性赋予了开发者极高的灵活性和效率,因为代码修改后能立即生效,无需经历编译过程,从而加速了开发周期和…...
遗传算法与深度学习实战——生命模拟与进化论
遗传算法与深度学习实战——生命模拟与进化论 0. 前言1. 模拟进化1.1 代码实现1.2 代码改进 2. 达尔文进化论3. 自然选择和适者生存3.1 适者生存3.2 进化计算中的生物学 小结系列链接 0. 前言 生命模拟通过计算机模拟生物体的基本特征、遗传机制、环境互动等,试图模…...
rt-thread H7 使用fdcan没有外接设备时或发送错误时线程被挂起的解决方案
一、问题查找 使用的开发版是硬石的H7芯片型号STM32H743IIT6,测试时发现如果外面没有连接CAN设备,程序调用CAN发送时会一直等待发送反馈,导致相关线程挂起。 在线仿真时发现是卡在can.c文件的168行_can_int_tx函数:rt_co…...
exptern “C“的作用,在 C 和 CPP 中分别调用 openblas 中的 gemm 为例
openblas提供的sgemm有两种方式,一种是通过cblas,另一种是直接声明并调用 sgemm_ 其中,cblas方式是更正规调用方法; 1,调用openblas的 sgemm 的两种方式 1.1 c语言程序中使用 sgemm hello_sgemm.c #include <st…...
Qwen3-ASR-1.7B语音识别5分钟快速部署:Docker镜像+Web界面开箱即用
Qwen3-ASR-1.7B语音识别5分钟快速部署:Docker镜像Web界面开箱即用 1. 引言:为什么选择Qwen3-ASR-1.7B? 想象一下这样的场景:你刚结束一场重要的跨国会议,录音文件里混杂着英语、中文和印度口音。传统语音识别工具要么…...
RIGOL DS2302A-S数字示波器:高性能信号分析的终极解决方案
1. 为什么工程师都爱用RIGOL DS2302A-S? 第一次接触RIGOL DS2302A-S是在调试一块高速PCB板时,当时手头的示波器死活抓不到那个诡异的时钟抖动。同事把他的DS2302A-S推过来,300MHz带宽配合2GSa/s采样率,瞬间就让那个藏在噪声里的3n…...
支付集成的优雅革命:Yansongda Pay 如何让多平台接入变得如此简单
支付集成的优雅革命:Yansongda Pay 如何让多平台接入变得如此简单 【免费下载链接】pay 可能是我用过的最优雅的 Alipay/WeChat/Douyin/Unipay/江苏银行 的支付 SDK 扩展包了 项目地址: https://gitcode.com/gh_mirrors/pa/pay 还在为支付宝、微信、抖音、银…...
算法竞赛经典代码集锦
1、排列论文#include<bits/stdc.h> using namespace std; const int N105; vector<int>g[N]; int a[N]; int n,m; int flag; int topSort(){queue<int>q;for(int i1;i<n;i){if(a[i]0){q.push(i);}}int cnt0;flag1;while(!q.empty()){int tq.front();q.pop…...
终极指南:如何用D3KeyHelper彻底解放双手,让你的暗黑3游戏体验提升500%
终极指南:如何用D3KeyHelper彻底解放双手,让你的暗黑3游戏体验提升500% 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 你是否…...
Phi-4-mini-reasoning效果展示:数理逻辑符号(∀, ∃, →)在中文输出中的保真度
Phi-4-mini-reasoning效果展示:数理逻辑符号(∀, ∃, →)在中文输出中的保真度 1. 模型核心能力概览 Phi-4-mini-reasoning是一款专为推理任务优化的文本生成模型,特别擅长处理数学证明、逻辑推理和多步骤分析任务。与通用聊天模…...
Janus-Pro-7B企业知识管理:基于AI的文档智能检索与摘要
Janus-Pro-7B企业知识管理:基于AI的文档智能检索与摘要 你是不是也遇到过这种情况?公司服务器里堆满了产品手册、项目报告、会议纪要,想找个资料得翻半天,最后还不一定能找到。或者,一份几十页的技术文档摆在面前&…...
Vision Master 视觉软件应用-字符识别
我们读取如上字符串,需要的算子如下【字符识别算子】图像源--高精度匹配--位置修正--字符识别--格式化【操作】【高精度匹配】基本参数特征模板【位置修正】---点击执行---创建基准---点击执行【字符串识别】***基本参数***选择绘制---选择搜索范围****运行参数***【…...
告别Appium!用这5个AI视觉自动化工具,让你的手机脚本不再怕App更新
告别Appium!5个AI视觉自动化工具重塑手机脚本开发 每次应用更新后,那些精心编写的自动化测试脚本突然失效的场景,测试工程师们再熟悉不过了。传统基于元素定位的工具如Appium,让团队陷入无休止的脚本维护泥潭。而今天,…...
Pixel Epic · Wisdom Terminal 构建AI Agent:自主任务规划与执行框架
Pixel Epic Wisdom Terminal 构建AI Agent:自主任务规划与执行框架 1. 为什么需要自主规划的AI Agent 想象一下,你有一个能听懂复杂指令、自动拆解任务、调用各种工具完成工作的数字助手。它不仅能回答简单问题,还能处理"帮我分析上季…...
