2017-05-10 5 views
0

私はSwiftでSpotify APIを使用してパーソナルアプリを構築していますが、再生していた曲が別の曲を再生する必要があります以上。私はすべての曲にidsを持っていて、欲しいやり方で練習します。Swift 3.0のSpotify SDK:曲がいつ終了するかを知る方法

曲の終わりを知らせる方法があるかどうかを知る必要があるので、次の曲をいつ再生するかを知る必要があります(曲が別の曲で終わるたびにHTTPリクエストを行います)。理由)。

あなたが私に指摘できる任意の提案やリソースは非常に役立ちます!答えを見つけることができませんでしたGoogleは検索経由:(

Spotify API: Is there a way to determine when a song has finished playing?

これは、投稿された同様の質問ですが、それはjavascriptのためだった、それは答えませんでした。

答えて

2

あなたはSPTAudioStreamingPlaybackDelegateプロトコルを実装することができ、 SpotifyはプレーヤーのplaybackDelegateプロパティを設定し、didStopPlayingTrackを実装するサンプルクラスは、次のようになります。

class MyClass: NSObject, SPTAudioStreamingPlaybackDelegate { 
    var player = SPTAudioStreamingController.sharedInstance() 


    func setup() {   // Whatever function does the setup. 
     player?.playbackDelegate = self 
    } 

    func audioStreaming(_ audioStreaming: SPTAudioStreamingController!, didStopPlayingTrack trackUri: String!) { 
     playNextSong()  // Or whatever else you wish to do here. 
    } 

    func playNextSong() { 
     // ... 
    } 
} 

(セットアップFことに注意してください慰めは何でもかまいません - 。それが呼び出されたときに選手を観察したオブジェクトがビューコントローラがNSObjectをサブクラス化するのではなく、ある場合には、そのようなviewDidLoadなど)

didStopPlayingTrackdelegate機能ですので、SpotifyはSDKが管理すべきである(具体的には、プレイヤーはデリゲートオブジェクトでそれを呼び出す必要があります) - プレーヤーの代理人が設定されている限り、自分で呼び出す必要はありません。

+0

私はSwiftにとっては少し新しく、audioStreaming関数が宣言されていると少し混乱しています。最初のパラメータとしてプレーヤに渡しますか(SPTAudioStreamingControllerなので)?この関数をもう少し使いこなす方法を詳しく説明できますか?私は非常に感謝します:) – Bradass

+1

私は少し私の答えを更新しました - それはまだ物事をクリアしていないかどうか私に教えて! – Samantha

+0

それは動作します!どうもありがとうございます!迅速なプロトコルでもう少し詳しく読んだほうが意味があります。あなたは命の恩人です! – Bradass

関連する問題