所以我想将 spotify 库集成到一个 android 应用程序中。我去了https://developer.spotify.com/technologies/libspotify/并下载了他们的 lib libspotify-12.1.51-Android-arm-release.tar.gz 问题是与 lib 捆绑的“Android”示例不是t 实际上是 android 项目,它们是 C 代码,lib 是一个 .so 文件。我有 android ndk 和 jni 的基本知识,但是关于将库与 android 集成的文档是不存在的。谁能提供只播放曲目的样本?或指出我可以找到样品的地方。
4 回答
不幸的是,Spotify 没有适用于 Android 的优秀 Java 库(有关更多详细信息,请参阅此 StackOverflow 问题),因此您必须手动编写 JNI 包装器。由于 libspotify 的 Android 版本非常新,因此也没有任何示例,但如果很快看到文档包含它们,我不会感到惊讶。
正如@juned 在他的评论中指出的那样,这个问题详细说明了如何让 libspotify 库与您的 Android 应用程序链接。正确链接 libspotify 后,您可以查看一些 Android NDK 教程以获得更具体的集成帮助。
如果您在集成过程中遇到问题,请务必查看 Spotify 随附的 libspotify 示例代码。该代码提供了一个很好的参考,说明如何与库中的 Spotify 服务进行正确对话。
看看这个在 Android 上做 libspotify 的示例项目:https ://github.com/spotify/psyonspotify
如自述文件中所述:
查看代码可以让您深入了解:
- 与 libspotify 集成
- 通过 JNI 进行通信
- 将原始 PCM 数据桥接到 OpenSL
Spotify 已发布适用于 android 的 SDK BETA 版本。
https://github.com/spotify/android-sdk
他们有一些初始化播放器和使用 TRACK_CHANGE 事件播放曲目的示例(仅在 Beta10 中可用)。这是一个不使用 TRACK_CHANGE 的:
mPlayer = Spotify.getPlayer(playerConfig, this, new Player.InitializationObserver() {
@Override
public void onInitialized(Player player) {
mPlayer.addConnectionStateCallback(MainActivity.this);
mPlayer.addPlayerNotificationCallback(MainActivity.this);
mPlayer.play("spotify:track:2TpxZ7JUBn3uw46aR7qd6V");
}
@Override
public void onError(Throwable throwable) {
Log.e("MainActivity", "Could not initialize player: " + throwable.getMessage());
}
});
(从教程中获取代码 - https://developer.spotify.com/technologies/spotify-android-sdk/tutorial/)
Spotify 宣布他们发布了 Android SDK ( https://developer.spotify.com/technologies/spotify-android-sdk/ )。
教程在这里(https://developer.spotify.com/technologies/spotify-android-sdk/tutorial/),因此您可以轻松地将 Spotify 集成到您的 Android 应用程序中。