我为我的应用程序正确启用了背景音频(在plist中).在当前完成后播放下一首曲目在后台使用SPPlaybackManager(当手机被锁定/关闭时)不起作用.
当前曲目结束并且音频停止时,应用将不会开始播放下一首曲目,直到手机解锁并且我的应用再次变为活动状态.
我该如何解决?这是我用来开始播放下一首曲目的一段代码.我观察到当前曲目变为零,然后开始播放下一首曲目.日志显示我正在回放管理器对象中设置下一个当前曲目,但它是无声的.
- (void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
if([keyPath isEqualToString:@"spotifyPlaybackManager.currentTrack"]){
NSLog(@"%@ %@",keyPath,self.spotifyPlaybackManager.currentTrack);
if(self.spotifyPlaybackManager.currentTrack==nil && self.mode == PlayerModeSpotify){
NSLog(@"PLAY NEXT");
[self.spotifyPlaybackManager playTrack:self.nextSPTrack callback:^(NSError *error){
if(error) TKLog(@"Spotify Playback Error %@",error);
}];
}
[[NSNotificationCenter defaultCenter] postNotificationName:PlayerNowPlayingItemDidChange object:self];
return;
}
[super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
}
Run Code Online (Sandbox Code Playgroud)
安慰:
spotifyPlaybackManager.currentTrack (null)
PLAY NEXT
spotifyPlaybackManager.currentTrack <SPTrack: 0x60f8390>: Karaoke
Run Code Online (Sandbox Code Playgroud) 我正在制作一个包含spotify集成的应用程序,我按照这个链接https://developer.spotify.com/technologies/spotify-android-sdk/tutorial/
通过这个链接的引用,我把"festevo:// callback"作为回调重定向URI
当我每次遇到同样的错误时尝试登录spotify时.
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="callback"
android:scheme="festevo" />
Run Code Online (Sandbox Code Playgroud)
请告诉我为什么会这样......
谢谢.
请告知我如何增加令牌到期时间使用spotify web API" https://accounts.spotify.com/api/token " 获取数据
我有一个应用程序,允许用户从spotify流式传输歌曲.因此,为了实现这一点,每当用户想要从spotify流式传输歌曲时,我需要不时更新会话.我正在使用最新的spotify sdk(beta-9),我目前正在关注https://www.youtube.com/watch?v=GeO00YdJ3cE的教程.在该教程中,我们需要刷新令牌交换,但是当我从https://developer.spotify.com/technologies/spotify-ios-sdk/tutorial/查看时,无需刷新令牌交换.
我最终没有使用令牌交换,当我刷新我的会话然后播放歌曲与更新的会话,我得到以下错误:
错误域= com.spotify.ios-sdk.playback代码= 8"由于凭据无效,登录Spotify失败." UserInfo = 0x7f840bf807b0 {NSLocalizedDescription =由于凭据无效,登录Spotify失败.}
我正在使用下面的代码来更新我的会话:
let userDefaults = NSUserDefaults.standardUserDefaults()
if let sessionObj : AnyObject = NSUserDefaults.standardUserDefaults().objectForKey("spotifySession") {
let sessionDataObj : NSData = sessionObj as! NSData
let session = NSKeyedUnarchiver.unarchiveObjectWithData(sessionDataObj) as! SPTSession
self.playUsingSession(session)
if !session.isValid() {
SPTAuth.defaultInstance().renewSession(session, callback: { (error : NSError!, newsession : SPTSession!) -> Void in
if error == nil {
let sessionData = NSKeyedArchiver.archivedDataWithRootObject(session)
userDefaults.setObject(sessionData, forKey: "spotifySession")
userDefaults.synchronize()
self.session = newsession
self.playUsingSession(newsession)
}else{
println("renew session …Run Code Online (Sandbox Code Playgroud) 我正在试用我的mac 10.10预装的python 2.7.10,特别是[add_a_saved_track.py] [1]这是从github复制的代码:
# Add tracks to 'Your Collection' of saved tracks
import pprint
import sys
import spotipy
import spotipy.util as util
scope = 'user-library-modify'
if len(sys.argv) > 2:
username = sys.argv[1]
tids = sys.argv[2:]
else:
print("Usage: %s username track-id ..." % (sys.argv[0],))
sys.exit()
token = util.prompt_for_user_token(username, scope)
if token:
sp = spotipy.Spotify(auth=token)
sp.trace = False
results = sp.current_user_saved_tracks_add(tracks=tids)
pprint.pprint(results)
else:
print("Can't get token for", username)
Run Code Online (Sandbox Code Playgroud)
我使用developer.spotify.com/my-applications注册了该应用程序,并收到了client_id和client_secret.我对redirect_uri的选择有点不清楚所以我把它设置为' https://play.spotify.com/collection/songs '
从终端运行这个我得到一个错误,说:
You need to set your Spotify API credentials. You …Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中有一个spotify登录并尝试进行自动登录:
登录功能
func getSpotifyToken(fromController controller: UIViewController, success: (spotifyToken: String?) -> Void, failure: (error: NSError?) -> Void) {
loginSuccessBlock = success
loginFailureBlock = failure
SPTAuth.defaultInstance().clientID = SpotifyClientID
SPTAuth.defaultInstance().redirectURL = NSURL(string: SpotifyRedirectURI)
SPTAuth.defaultInstance().requestedScopes = [SPTAuthStreamingScope, SPTAuthPlaylistReadPrivateScope]
let spotifyLoginController = SPTAuthViewController.authenticationViewController()
spotifyLoginController.delegate = self
spotifyLoginController.clearCookies { () -> Void in
controller.presentViewController(spotifyLoginController, animated: true, completion: nil)
}
}
Run Code Online (Sandbox Code Playgroud)
检查会话是否存在
private func spotifyConnected() -> Bool {
if SPTAuth.defaultInstance().session == nil {
self.loadSpotifySession()
}
return SPTAuth.defaultInstance().session != nil
}
Run Code Online (Sandbox Code Playgroud)
保存会议
private func saveSpotifySession() {
let sessionData …Run Code Online (Sandbox Code Playgroud) 是否可以使用Spotify iOS SDK离线访问曲目?我没有找到任何文档或示例来说明这是如何实现的.
一些旧问题表明它已在弃用的LibSpotifylibrary中提供,但强烈建议使用新的Spotify iOS SDK.
有一个Android离线播放的请求,但即使这已经有将近两年了,我没有找到关于iOS SDK的任何内容.
使用Spotify Web API的新端点/播放器,我们现在可以控制Spotify客户端的播放.使用端点https://api.spotify.com/v1/me/player/play,我们可以添加要播放的歌曲.
我想知道是否有办法利用新的端点将歌曲添加到玩家的队列中.我打算写一个应用程序,让多个客人请求可以通过聚会上的Spotify播放的歌曲.
有没有人有想法?
目前我正在尝试学习如何使用 python 将喜欢的 youtube 视频添加到 Spotify 播放列表中,我正在从https://www.youtube.com/watch?v=7J_qcttfnJA&t=300s学习
在视频的 2 分 18 秒中,她提到使用 Spotify Web API 网站https://developer.spotify.com/documentation/web-api/从 Spotify 添加 userID 和 oauth 令牌
但是,我无法找到 OAUTH 令牌在哪里。
程序员还上传了她从哪里获得令牌的图像,但我似乎找不到它:https ://github.com/TheComeUpCode/SpotifyGeneratePlaylist/blob/master/images/spotify_token.png
我正在使用gem rspotify来访问我的 Rails 应用程序中的 Spotify 的 api。Rails 版本是 6.0.4 但最重要的是 Ruby 版本是 3.0.0
当我尝试调用 api 方法时,我不断收到此错误“URI:Module 的未定义方法‘编码’”。我必须强调,当我降级到 Ruby 2.6.3 时,我没有收到此错误。Ruby 3.0.0 似乎不支持 URI 编码。我的用户控制器是下面的代码示例。我收到Spotify_user.country和其他 api 方法的错误。
class UsersController < ApplicationController
skip_before_action :authenticate_user!, only: [ :spotify]
def spotify
spotify_user = RSpotify::User.new(request.env['omniauth.auth'])
spotify_user.country
end
end
Run Code Online (Sandbox Code Playgroud)
在config/application.rb中
RSpotify::authenticate(ENV['SPOTIFY_CLIENT_ID'], ENV['SPOTIFY_CLIENT_SECRET'])
Run Code Online (Sandbox Code Playgroud)
在 devise.rb 中,我有
require 'rspotify/oauth'
Rails.application.config.middleware.use OmniAuth::Builder do
provider :spotify, ENV['SPOTIFY_CLIENT_ID'], ENV['SPOTIFY_CLIENT_SECRET'], scope:
'user-read-email playlist-modify-public user-library-read user-library-modify'
end
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一个不涉及降级 ruby 版本的错误解决方案