使用 ShazamKit 为 iOS 应用添加音乐识别功能
2023-12-29 18:33:42
在我踏入音乐流媒体的领域之前,我曾经是一个为识别播放的歌曲而烦恼不已的音乐爱好者。那时候,我发现了一款名为 Shazam 的神奇应用程序,它就像魔法一样,可以识别我周围的任何歌曲。这让我着迷,我迫不及待地想了解 Shazam 背后的技术。
随着我对移动应用开发的深入研究,我了解到 Shazam 拥有一个称为 ShazamKit 的强大框架,它允许开发人员在自己的应用程序中整合 Shazam 的音乐识别功能。这开启了一个令人着迷的可能性世界,使我能够创建更智能、更引人入胜的音乐体验。
因此,我着手编写这份全面的指南,向您展示如何使用 ShazamKit 为您的 iOS 应用程序添加音乐识别功能。我们将从了解 Shazam 的工作原理开始,然后逐步指导您完成创建一个简单的应用程序,该应用程序可以识别设备附近播放的音乐。最后,我们将探讨一些高级用例,例如匹配视频中的自定义音频和显示视频播放位置。
准备好在您的应用程序中释放音乐识别的力量了吗?让我们开始吧!
Shazam 的工作原理
Shazam 是一种音乐识别服务,利用音频指纹技术来识别歌曲。该技术涉及从音频剪辑中提取一组唯一的声学特征,称为声学指纹。当 Shazam 应用程序分析音频剪辑时,它会将提取的声学指纹与庞大的歌曲数据库中的指纹进行比较。如果找到匹配项,Shazam 就会向用户显示歌曲的标题、艺术家和专辑信息。
使用 ShazamKit
先决条件
在开始之前,请确保您已满足以下先决条件:
- 一台运行 iOS 12 或更高版本的 iOS 设备
- 一个有效的 Apple 开发者帐户
- Xcode 12 或更高版本
- Cocoapods
安装 ShazamKit
首先,您需要使用 Cocoapods 安装 ShazamKit。在终端中,导航到您的项目目录并运行以下命令:
pod 'ShazamKit'
创建 DevCompanion
DevCompanion 是 Shazam 提供的一个简单片段,您可以使用它快速测试 ShazamKit 的功能。要创建 DevCompanion,请执行以下步骤:
- 在 Xcode 中创建一个新的 SwiftUI 项目。
- 在项目浏览器中,选择“Assets.xcassets”。
- 单击“添加新文件”,然后选择“应用程序图标集”。
- 从左侧的应用程序图标集列表中选择所有图标大小。
- 在右上角,单击“导入”。
- 在 Finder 中,导航到您的项目目录。
- 运行以下命令:
npx shazamkit devcompanion -p [项目名称]
这将生成 DevCompanion 应用程序的代码并将其添加到您的项目中。
运行 DevCompanion
现在您可以运行 DevCompanion 应用程序来测试 ShazamKit。在 Xcode 中,选择“运行”菜单并运行应用程序。您应该会看到一个简单的界面,上面有一个“开始”按钮。
点击“开始”按钮,然后播放一首流行歌曲。片刻后,DevCompanion 应该能够识别这首歌并显示歌曲的标题、艺术家和专辑信息。
高级用例
匹配视频中的自定义音频
ShazamKit 不仅限于识别设备附近播放的音乐。您还可以使用它来匹配视频中的自定义音频。为此,您可以使用 SHAudioMetadataExtractor
类来从视频文件中提取音频指纹。然后,您可以将这些指纹与 Shazam 的数据库进行比较以识别歌曲。
可见视频播放位置
当您使用 ShazamKit 识别视频中的音乐时,您还可以获取视频中歌曲播放位置的时间戳。这对于创建音乐可视化效果或允许用户跳转到歌曲的不同部分非常有用。
结论
通过使用 ShazamKit,您可以轻松地为您的 iOS 应用程序添加音乐识别功能。从识别设备附近的歌曲到匹配视频中的自定义音频,ShazamKit 为您提供了广泛的可能性。通过释放音乐识别的力量,您可以创建更智能、更引人入胜的音乐体验,为您的用户带来无与伦比的价值。