七夕音乐照片墙制作教程,打造独一无二的浪漫礼物

news2024/11/25 0:27:18

大家好,我是机灵鹤。

一年一度的七夕马上到了。

我准备送女朋友一个亲手制作的,有创意的,有程序员特色的礼物。

女朋友特别喜欢林俊杰,于是我决定做一个林俊杰歌曲的 NFC 音乐相框 送给她 。

只需要用手机 NFC 在歌曲照片上贴一贴,就可以直接播放该歌曲了,非常的方便。

这个礼物从创意构思到成品完成,共历时两周,花费了 117.3 元。

总体来说,这个 亲手设计制作 的、低成本高颜值 的 NFC 音乐相框,不论创意,还是诚意,都可以算作是一个 非常用心 的七夕节礼物了。

下面分享一下制作过程,需要的兄弟们赶快收藏起来吧,万一将来用到了呢!

1. 创意构思

所谓的 NFC 音乐相框,用手机 NFC 贴一贴就可以播放歌曲,其实原理并不复杂。

大概流程是,

  1. 为喜欢的歌曲设计好封面,并打印成相片。
  2. 每张相片背后贴一张 NFC 贴纸,贴纸里写入播放指定歌曲的指令。
  3. 使用时,用手机 NFC 贴一贴,就可以执行指令,在手机上播放歌曲了。

之前网上其实已经有很多关于 NFC 音乐墙的教程了。

不过,查了一圈后发现,这些教程大多有一些共性的特点:

  1. 核心玩法用到了 iPhone 手机的 快捷指令 功能。
  2. 指令需要在手机上 提前设置
  3. 播放音乐的方式,是直接打开 网易云音乐 软件播放歌曲。

这些虽然都不是什么大问题,但在我这里,却又非常 “致命” 。

  1. “快捷指令” 功能只有苹果手机有,而我女朋友用的是安卓手机。
  2. 提前设置指令的方式,限定了只能在设置好指令的那台手机上使用,不适合作为礼物。
  3. 林俊杰的大部分歌曲在网易云音乐 APP 里无法播放,没有版权或者需要会员。

经过一番探索和研究,我最终通过使用 云服务器,完美地解决了这些问题。

核心思路就是,

  1. 将歌曲文件上传至自己的云服务器中,并生成播放链接。
  2. 将播放链接写入 NFC 贴纸中。
  3. 手机 NFC 贴一贴后,打开浏览器跳转歌曲的播放链接。

详细的制作过程将分为 软件硬件 两个部分进行讲解。

2. 软件部分

软件部分,需要编程开发的主要是两个环节,设计 歌曲封面播放界面

先讲这一部分呢,是因为硬件部分的制作依赖于软件部分的设计。

设计好的歌曲封面,后续会打印成相片,用于制作相框;而制作好的播放界面的网址,后续会写入 NFC 贴纸中,用于实现交互。

2.1 设计歌曲封面

网上教程里,对于如何制作封面都没有过多说明。

基本上不外乎两种方法,一种是在音乐软件里直接截图,另一种是用 Photoshop 进行制作。

作为一个程序员,而且要批量制作封面图,这种事情当然是要写程序来完成的。

2.1.1 确定样式

首先需要确定歌曲封面的样式。

各个音乐 APP 的播放界面各有特色,封面图片有的是矩形,有的是圆形,还有的设计成了唱片机的样式。

经过反复对比斟酌,我决定仿照 网易云音乐 的音乐播放界面,将主体设计为 唱片机 的样式。

2.1.2 搜集素材

接下来,需要去网上搜集制作歌曲封面图所需要的各种素材。

a. 图片素材,包括唱片图片,唱片机指针图片,各种按钮图片。

b. 专辑封面,搜集选中歌曲 专辑封面 的高清图。

c. 歌曲文件,收集选中歌曲的 MP3 文件。

d. 歌曲信息,记录每首歌曲的 名字总时长 ,用于生成封面图中的文字。

{
  "林俊杰": [
    { "name": "愿与愁", "time": "03:51" },
    { "name": "交换余生", "time": "04:36" },
    { "name": "裹着心的光", "time": "04:33" },
    { "name": "黑键", "time": "05:28" },
    { "name": "我继续", "time": "04:40" },
    { "name": "伟大的渺小", "time": "04:37" },
    { "name": "黑夜问白天", "time": "04:52" },
    { "name": "圣所", "time": "03:49" },
    { "name": "可惜没如果", "time": "04:58" },
    { "name": "生生", "time": "04:18" },
    { "name": "茉莉雨", "time": "04:16" },
    { "name": "关键词", "time": "03:32" },
    { "name": "黑武士", "time": "03:39" },
    { "name": "幸存者", "time": "04:41" },
    { "name": "杀手", "time": "04:53" },
    { "name": "美人鱼", "time": "04:14" },
    { "name": "起风了(Live)", "time": "05:15" },
    { "name": "不存在的情人", "time": "04:03" },
    { "name": "是你", "time": "03:38" },
    { "name": "达尔文", "time": "04:06" },
    { "name": "将故事写成我们", "time": "05:36" },
    { "name": "孤独娱乐", "time": "03:59" },
    { "name": "我们的爱(Live)", "time": "05:51" },
    { "name": "有梦不难", "time": "04:32" }
  ],
}

2.1.3 编写代码

最后编写代码,将这些图片素材和歌曲信息融合起来,生成并导出歌曲封面。

代码使用 Python 语言,通过 cv2PIL 库对图片进行生成和处理。

2.2 设计播放界面

由于各种音乐 APP 里都有会员以及歌曲版权的限制,很多歌曲无法直接在 APP 中播放。

导致通过打开手机中音乐 APP 来播放指定歌曲的方法行不通。

因此我选择了将歌曲上传至自己的服务器,通过浏览器网页播放。

在这个过程中,我迭代了几个版本的方案,最终达到了比较满意的效果。

2.2.1 通过云存储

一开始,我想到的是将歌曲上传至 云存储 OSS 里,获取歌曲链接,并写入 NFC 标签中。

然后每次通过浏览器直接打开歌曲链接进行播放。

方法可行,可以正常播放歌曲,但是效果…太!丑!啦!!

链接打开是一个黑色背景的音乐播放界面。

且不说它没有显示任何歌曲信息,如歌名,歌手,歌词,封面等,光是这个黑漆漆的界面,就已经丑到让人难以接受了。

如果将这个作为最终的呈现效果,我至少要被女朋友笑话半年。

2.2.2 通过制作网站

既然如此,那就只能自己美化一下界面,做个歌曲播放网站了。

根据我的设想,

网站中 歌曲播放界面 要跟前面制作的 歌曲封面照片 风格保持一致,

这样可以给人一种 把歌曲从照片里传到手机里 的感觉。

说实话,我并不擅长写网站,仅有的那些前端知识,还是研究爬虫时候学的。

不过问题不大,我们可以去网上找别人造好的 轮子 呀。

我在 xuanzebin 大佬仿网易云界面模板的基础上修修改改,终于达到了理想的效果。

左边是网易云音乐播放界面,右边是我做的仿网易云播放界面。

通过这种方式,我们可以给每首歌生成一个播放页面。

3. 硬件部分

前面讲解了需要编程开发的两个环节,歌曲封面播放界面 的设计和开发。

接下来我们讲解制作礼物 硬件部分 的整个流程。

3.1 确定需求

首先要确定需求,主要考虑以下几点:

  1. 歌曲选择,女朋友喜欢谁的歌?哪些歌曲?

  2. 你要制作的相册,准备放几张照片,如何排列?

    12 张(3x4)? 16 张(4x4)? 20 张(4x5)?还是 24 张(4x6)?

  3. 每张照片的尺寸需要多大?4寸?还是5寸?还是其它?

这些关系到后续你需要打印多少张照片,需要多少张 NFC 贴纸,定制多大尺寸的相框,以及,需要花费多少钱。

3.2 采购材料

整理好需求,并制作好歌曲封面图后,就可以去网上下单采购材料了。

下面是用到的物品清单:

3.2.1 NFC 贴纸

某宝上卖的一个只要几毛钱,我买了 50 个 32.5 元,平均一个 6 毛多钱。

这种 NFC 贴纸指甲盖大小,特别薄,而且自带背胶,可以很方便的贴在物体上。

购买前记得问一下店家,贴纸是否支持自己的手机型号。

3.2.2 打印相片

设计好歌曲 封面 ,确定好 尺寸 和照片 材质 以后,就可以在某宝下单打印了。

我选的是 5 寸的绒面照片,24 张照片只要 8.88 元,平均一张照片不到 4 毛钱。

一般情况下当天就可以发货。

3.2.3 定制相框

确定好照片 尺寸排版 以后,就可以购买相框了。

一般情况下,成品相框的尺寸跟自己需要的尺寸是有出入的,需要定制。

计算相框宽高时,除了考虑照片尺寸和间距之外,建议在边框处也预留 1 cm 左右的宽度,更加美观。

定制相框的时候,记得跟店家备注要一张 白色卡纸(有的店卡纸可能会收费),后续装裱照片的时候,可以把照片先贴在卡纸上,再放进相框里。

费用的话,不同的尺寸和样式价格不同。以我为例,24 张 5 寸照片,相框尺寸为 54cm * 56 cm,花费了 76 元。

3.2.4 云服务器

由于 NFC 贴一贴以后,要跳转播放歌曲的网页,所以需要一台云服务器。

如果你已经有云服务器了,那太好了。

如果还没有云服务器,那也问题不大,阿里云腾讯云,新用户购买的话还是非常便宜的,一年只要几十块。如果是学生的话,甚至可以白嫖几个月。

参考链接:从零开始搭建自己的个人博客网站

3.3 组装礼物

等快递都到了以后,就可以开始组装礼物了。

3.3.1 粘贴 NFC 标签

将 NFC 贴纸贴在照片背面,每张照片贴一个,贴的位置以正常姿势将手机靠近照片时可以感应到为宜。

具体位置,大家可以参考自己手机 NFC 感应区的位置(一般在摄像头正下方)。

3.3.2 写入歌曲链接

在手机上下载一个 NFC标签助手 的 app,用来读写 NFC 标签的内容。

然后将上一节中,我们通过制作网站得到的歌曲播放链接,依次写入 NFC 贴纸中。

操作流程如下图所示。

3.3.3 粘贴照片

用双面胶将照片整齐贴在相框的卡纸上。

3.3.4 装裱相框

将相框组装起来,挂在墙上,礼物制作完成!

可以看到,除了听歌,这个礼物作为装饰也是非常漂亮,非常有质感的。

4. 成品展示

每次想听歌时,只要打开手机的 NFC 功能,

将手机靠近对应的照片贴一贴,就可以打开网页播放歌曲了。

点击唱片可以播放和暂停歌曲,播放歌曲时,唱片会随着音乐旋转,歌词也会随之滚动。

感兴趣的朋友快来给你的对象也做一个试试吧!

如果你在制作音乐相框时,觉得编程部分或者搭建网站比较麻烦,我可以有偿提供一些技术帮助。

我可以帮您:

  • 制作精美的歌曲封面

  • 搭建歌曲播放网站(无需你自己购买服务器)

  • 给你提供制作方面的指导和建议

帮助你顺利完成这个有意义的,惊喜又浪漫的七夕礼物。

如果需要我的协助,欢迎联系我。


欢迎关注公众号【机灵鹤】

我是机灵鹤,一个代码写的不错,还有点小浪漫的程序员。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/882069.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

韧性数据安全体系组成:多层级快速响应 |CEO专栏

风险是可以具象化和可感知的对象,是数据安全的衡量标准之一,上期「构建适应性进化的韧性数据安全体系」专栏,对韧性数据安全体系的组成-适应性动态风险展开介绍。 本期内容,将介绍韧性数据安全体系的另一个重要组成—多层级快速响…

Dubbo 与 gRPC、Spring Cloud、Istio 的关系

很多开发者经常会问到 Apache Dubbo 与 Spring Cloud、gRPC 以及一些 Service Mesh 项目如 Istio 的关系,要解释清楚它们的关系并不困难,你只需要跟随这篇文章和 Dubbo 文档做一些更深入的了解,但总的来说,它们之间有些能力是重合…

家纺家居小程序商城搭建指南

随着移动互联网的快速发展,小程序成为了商家们开展电商业务的重要方式之一。家纺家居行业作为一个庞大的市场,也可以通过搭建小程序商城来实现线上销售。下面就为大家介绍一下如何搭建家纺家居小程序商城。 首先,我们需要找一个专业成熟的小程…

el-tree通过default-expand-all动态控制展开/折叠

1、如下图通过勾选框动态控制展开/折叠&#xff0c;全选/清空 2、实现方式如下&#xff1a;定义key&#xff0c;监听checked2修改treeKey&#xff0c;重新渲染tere&#xff1b;附加全选和清空。 <div class"tree"><el-checkbox v-model"checked1"…

Salesforce 为什么能够在 CRM 市场获得成功?

Salesforce 为什么能够在 CRM 市场获得成功&#xff1f; 虽然salesforce有着水土不服&#xff0c;数据安全等问题&#xff0c;但依旧受到了国内CRM系统使用者的追捧。 但是近年来国内的一些CRM平台也做得很不错了&#xff0c;我认为没必要执着于非本土系统。 下面就以一个CR…

【C语言】静态通讯录 -- 详解

一、实现目标 1、功能 保存 1000 个联系人的信息添加联系人删除联系人修改联系人查找联系人排序 2、个人信息&#xff08;结构体&#xff09; 名字年龄性别电话地址 二、创建文件 test.c&#xff08;专门测试通讯录的功能&#xff09;contact.c&#xff08;接口的实现&#xf…

物联网智慧安防实训综合实训基地建设方案

一、系统概述 物联网智慧安防实训综合实训基地是一个为学生提供综合实践、培养技能的场所&#xff0c;专注于物联网技术与智慧安防应用的培训和实训。通过物联网智慧安防实训综合实训基地的建设和运营&#xff0c;学生可以在真实的环境中进行实践训练&#xff0c;提高其物联网技…

【网络基础】传输层

【网络基础】传输层 文章目录 【网络基础】传输层1、端口号1.1 工具 2、UDP协议2.1 协议端格式2.2 UDP特点2.3 传输数据报2.4 缓冲区2.5 基于UDP应用层协议2.6 使用注意事项 3、TCP协议3.1 协议段格式3.2 ACK机制3.3 超时重传机制3.4 连接管理机制3.5 滑动窗口3.6 流量控制3.7 …

RDMA概述

1. DMA和RDMA概念 1.1 DMA DMA(直接内存访问)是一种能力&#xff0c;允许在计算机主板上的设备直接把数据发送到内存中去&#xff0c;数据搬运不需要CPU的参与。 传统内存访问需要通过CPU进行数据copy来移动数据&#xff0c;通过CPU将内存中的Buffer1移动到Buffer2中。DMA模…

确定产品需求边界需重点关注4个方面

产品需求需要确定边界&#xff0c;因为资源的是有限的。而没有边界的需求&#xff0c;会造成项目目标混乱&#xff0c;工期的延长&#xff0c;开发成本增加等问题。 1、定义最小业务单元 一般来说&#xff0c;产品不可能做大而全&#xff0c;需有自己专属的业务市场。从用户角度…

vue3-vuex

一、概念 &#xff08;1&#xff09;Vuex 是一个状态和数据管理的框架&#xff0c;负责管理项目中多个组件和多个页面共享的数据。 &#xff08;2&#xff09;在开发项目的时候&#xff0c;我们就会把数据分成两个部分&#xff0c;一种数据是在某个组件内部使用&#xff0c;我…

升级iPhone 15 Pro Max还是等待下一代?看看我们的比较分析!

对于拥有13 Pro Max并即将结束两年合同的用户,或者任何想看看是否值得购买两年前非常好的旗舰iPhone的最新机型的人来说,分解iPhone 15 Pro Max与iPhone 13 Pro Max的差异非常重要。无论你的动机是什么,我们都会帮助你找到答案。 iPhone 15 Pro Max还没有发布,但很快我们就…

元宇宙和vr的区别是什么?元宇宙一定要借助vr吗

引言&#xff1a; 当前&#xff0c;虚拟现实&#xff08;VR&#xff09;和元宇宙&#xff08;Metaverse&#xff09;作为科技领域的两大亮点&#xff0c;正以其巨大的潜力带领着人类走向数字化。然而&#xff0c;尽管二者都与虚拟世界紧密相关&#xff0c;但它们之间却存在着…

CentOS系统环境搭建(九)——centos系统下使用docker部署项目

centos系统环境搭建专栏&#x1f517;点击跳转 关于Docker-compose安装请看CentOS系统环境搭建&#xff08;三&#xff09;——Centos7安装Docker&Docker Compose&#xff0c;该文章同样收录于centos系统环境搭建专栏。 Centos7部署项目 采用前后端分离的形式部署。使用Do…

功率放大器的测试指标有哪些内容

功率放大器是一种将低功率信号增益放大到高功率水平的电路元件。在进行功率放大器设计和生产时&#xff0c;需要对其进行多项测试&#xff0c;以保证其性能和质量。下面介绍功率放大器常见的测试指标。 增益 功率放大器的增益是指其输出信号与输入信号之比。增益是功率放大器最…

并发编程之创建线程和线程的状态

创建线程的三种方式 1.继承Thread类 重写run方法 class MyThread extends Thread{Overridepublic void run() {for (int i 0; i < 100; i) {System.out.println(getName() ":打了" i "个小兵");}} } public class Test {public static void main(…

QT学习笔记-QT5.15编译及安装谷歌拼音输入法(QtInputMethod_GooglePinyin)

QT学习笔记-QT5.15编译及安装谷歌拼音输入法&#xff08;QtInputMethod_GooglePinyin&#xff09; 0、背景1、环境2、下载QtInputMethod_GooglePinyin源码3、使用MinGW64构建套件编译3.1 编译QtInputMethod_GooglePinyin源码3.2、部署tgtsmlInputContextPlugin输入法插件3.3、运…

uniapp安卓ios打包上线注意事项

1、安卓包注意事项 隐私政策弹框提示 登录页面隐私政策默认不勾选隐私政策同意前不能获取用户权限APP启动时&#xff0c;在用户授权同意隐私政策前&#xff0c;APP及SDK不可以提前收集和使用IME1、OAID、IMS1、MAC、应用列表等信息 ios包注意事项 需要有注销账号的功能 3、安…

人工智能(一)基本概念

人工智能之基本概念 常见问题什么是人工智能&#xff1f;人工智能应用在那些地方&#xff1f;人工智能的三种形态图灵测试是啥&#xff1f;人工智能、机器学习和深度学习之间是什么关系&#xff1f;为什么人工智能计算会用到GPU&#xff1f; 机器学习什么是机器学习&#xff1f…

财务报表数据,你看懂了吗?

之前分享过一期&#xff0c;财务数据哪里找&#xff1f;现在当我们找到相应数据&#xff0c;那我们得了解这些数据代表什么&#xff0c;能否看懂这些下载的报告&#xff0c;无论对于企业还是高校、科研所都是很重要的。如果看不懂&#xff0c;就像是站在门外的人&#xff0c;拿…