- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Spotify Android SDK 播放持续时间小于 10 40(极难分辨)秒的歌曲。我正在使用一个按钮开始播放。这样做时,大部分时间都没有声音。向按钮发送垃圾邮件会导致偶尔播放声音(几乎不会发生)。如果没有声音,PlayerEvent
的 kSpPlaybackNotifyTrackChanged
和 kSpPlaybackEventAudioFlush
将丢失。
我正在使用 Spotify's Android SDK (Docs)。我正在尝试使用 playUri(...)
播放歌曲。某些歌曲在调用 playUri(...)
后根本不会呈现任何声音,即使达到了 Player.OperationCallback
的 onSuccess
.在另一个更复杂的测试环境中,我发现 Player.AudioDeliveredCallback
在出现此行为时甚至没有被调用。非工作轨道的一个共同点是它们很短(持续时间少于 10 40(极难分辨)秒)。我正在使用 Android SDK 版本 spotify-player-24-noconnect-2.20b
并在运行 Android 操作系统版本 4.4.2
和 7.0
的设备上进行调试>.
我还在 Spotify Android SDK 中将此列为一个问题,可以在 here 中找到.
我正在使用 this作为起点。我删除了所有与身份验证相关的代码,因为我只是自己使用 Web API 获取 OAuth token 。我也忽略了应该在 Spotify 应用程序中提供的 Android 包名称和 SHA1 指纹对,因为它似乎甚至没有被服务检查。播放器正在正确初始化,我可以看出这一点,因为有些歌曲播放没有任何问题。因此 ConnectionStateCallback
的 onLoggedIn()
会在短时间后被调用。调试日志消息确认登录过程成功。成功登录后 playUri(...)
就可以通过使用 Spotify URI 调用它来使用了。 View.OnClickListener
的 onClick(...)
方法的以下实现用于五个不同的 Button
,它们使用 playUri(...)
有一个有效的(按钮 5)和一些无效的(按钮 1-4)Spotify URI。
public void onButtonClickedPlaySong1(View view) {
Log.d("MainActivity", "Playing short song");
mPlayer.playUri(null, "spotify:track:5vN4teJoROMQoadL4IzejG", 0, 0);
}
public void onButtonClickedPlaySong2(View view) {
Log.d("MainActivity", "Playing short song");
mPlayer.playUri(null, "spotify:track:46O6QtxuzX3iZn9hMXoeqo", 0, 0);
}
public void onButtonClickedPlaySong3(View view) {
Log.d("MainActivity", "Playing short song");
mPlayer.playUri(null, "spotify:track:770fJdqw14GUyCe2SMEgvP", 0, 0);
}
public void onButtonClickedPlaySong4(View view) {
Log.d("MainActivity", "Playing short song");
mPlayer.playUri(null, "spotify:track:4JjsoAKOZZCZuC0kiYwkTL", 0, 0);
}
public void onButtonClickedPlaySong5(View view) {
Log.d("MainActivity", "Playing long song");
mPlayer.playUri(null, "spotify:track:3CCCpjbs3uW018OkSguRFk", 0, 0);
}
按钮 1、2、3 和 4 应该开始播放一首短歌。按钮 5 应该开始播放一首长歌。
以下日志主要展示了Player.NotificationCallback
的onPlaybackEvent(PlayerEvent playerEvent)
调用。
按下按钮 5:
02-24 13:19:15.500 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playing long song
02-24 13:19:15.516 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playback event received: kSpPlaybackNotifyPlay
02-24 13:19:15.574 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playback event received: kSpPlaybackNotifyMetadataChanged
02-24 13:19:15.692 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playback event received: kSpPlaybackNotifyMetadataChanged
02-24 13:19:15.692 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playback event received: kSpPlaybackNotifyMetadataChanged
02-24 13:19:15.692 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playback event received: kSpPlaybackNotifyContextChanged
02-24 13:19:15.791 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playback event received: kSpPlaybackNotifyTrackChanged
02-24 13:19:15.791 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playback event received: kSpPlaybackEventAudioFlush
按下按钮 1、2、3 或 4:
02-24 13:20:04.286 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playing short song
02-24 13:20:04.307 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playback event received: kSpPlaybackNotifyPlay
02-24 13:20:04.357 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playback event received: kSpPlaybackNotifyMetadataChanged
02-24 13:20:04.463 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playback event received: kSpPlaybackNotifyMetadataChanged
02-24 13:20:04.463 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playback event received: kSpPlaybackNotifyMetadataChanged
02-24 13:20:04.463 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playback event received: kSpPlaybackNotifyContextChanged
在按下之前按下按钮 1、2、3 或 4 之后:
02-24 13:20:06.020 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playing short song
02-24 13:20:06.035 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playback event received: kSpPlaybackNotifyPlay
02-24 13:20:06.088 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playback event received: kSpPlaybackNotifyMetadataChanged
02-24 13:20:06.179 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playback event received: kSpPlaybackNotifyMetadataChanged
02-24 13:20:06.179 5766-5766/<YOUR_PACKAGE> D/MainActivity: Playback event received: kSpPlaybackNotifyMetadataChanged
最佳答案
我实际上找到了解决问题的方法。 playUri(...)
的最后一个参数是一个整数,在文档中称为“positionInMs”。当将它设置为 1
而不是 0
时,无论要播放的歌曲的持续时间如何,我都没有任何问题。
从技术上讲,这似乎是歌曲被削减了 1 毫秒,我认为这是一个非常肮脏的修复。但实际上它根本不引人注意,这就是我对它很满意的原因。
关于android - Spotify 的 Android SDK 无法可靠地播放持续时间短的歌曲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48965094/
我正在细读 http://www.khronos.org/网站,只找到了 OpenCL 的头文件(不是我不关心的 OpenGL)。如何获取 OpenCL SDK? 最佳答案 AMD 的 ATI Str
Android 项目中最低(最低 sdk)和最高(目标 sdk)级别是否有任何影响。这些东西是否会影响项目的可靠性和效率。 最佳答案 没有影响,如果您以 SDK 级别 8 为目标,那么您的应用将以 9
“min sdk version/target sdk version”和“compile sdk version”有什么区别?我知道 min 和 target sdk 是什么意思,但是 compil
我正在尝试运行 Dji Mobile-Sdk-Android:https://github.com/dji-sdk/Mobile-SDK-Android使用 dji 网站上的说明:https://de
我目前正在向我的 iPhone 应用程序添加新的 Facebook iOS sdk 3.1.1。我看到 sdk 有重大变化。例如。我的旧 sdk 创建一个 Facebook 对象并从 FBReques
我最近刚刚下载了 Xcode 4.6 with mac 10.8.4 with iOS 6.0 SDK package,我立即注意到我无法使用我的 iPhone 3Gs with iOS 4.6 进行
我尝试下载 OpenCL SDK。但是没办法。我有一个 AMD GPU,所以我在谷歌上搜索了 AMD SDK,但是来自谷歌的所有链接和一些教程都被破坏了,不可能通过 AMD 开发者网站找到 sdk。
安装 Google Cloud SDK 后,当我运行时 gcloud 授权登录 我收到一条错误消息: Your browser has been opened to visit: https://a
我一直在 nvidia 网站上搜索 GPU 计算 SDK,因为我正在尝试构建具有 cuda 支持的点云库 (PCL)。但是,在 nvidia 网站上,我只能找到工具包的链接,而不是 SDK 的单个下载
Closed. This question needs to be more focused。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅关注editing this post一个问题。 2
当我打开 Android SDK 管理器时,会出现一个屏幕“选择要安装的包”。它列出了一堆带有绿色复选标记(已经安装)的软件包,还有一些带有 x's 的软件包,它们没有安装。如果我选择“全部接受”,它
在开发过程中,我发布了 SDK 21 Lollipop,但我无法在我的 KitKat 设备上使用它。应用程序非常简单,我只将 SDK 用于动画和 Material 设计,但是当我尝试对 Play 商店
enter image description here friend 们好 在使用 Linux、jenkins 和 docker 探索 dotnet 核心时,我遇到了构建问题,该问题在标题“/usr
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
我创建了一个flutter项目,运行flutter packages get,输出如下:【二】flutter包搞定等待另一个 flutter 命令释放启动锁...第二次运行“flutter packa
这个问题在这里已经有了答案: What are the Android SDK build-tools, platform-tools and tools? And which version sh
我使用 Corona SDK 已经快一年了,并且开发了几个简单的游戏。我现在正在寻找的是在 Corona SDK 中创建 3D 幻觉的某种方法。如果有人有 Corona 3D 方面的经验,我将不胜感激
我有一个CLDC 1.1 / MIDP 2.0项目,可以使用Java ME SDK 3.2很好地进行编译。 最近,我已将Java SE升级到8,结果Java ME SDK开始在Windows启动时显示
有没有办法以编程方式控制连接到华擎主板的 RGB 照明?我知道华硕有一个 Aura SDK,但华擎是否也有一个用于他们的硬件? 如果是,我在哪里可以找到它? 最佳答案 没有用于华擎多彩的 sdk。但是
如何使用 crm 2011 sdk 和 XrmServiceContext 创建事务? 在下一个示例中,'new_brand' 是一些自定义实体。我想创建三个品牌。第三个拥有错误的 OwnerID g
我是一名优秀的程序员,十分优秀!