6

提供されているクイック スタート ガイドを使用して、IOS アプリ内で SoundCloud トラックを再生したいと考えています。

ストリームを再生するために提供されるコードは次のとおりです。

SCAccount *account = [SCSoundCloud account];

    [SCRequest performMethod:SCRequestMethodGET
                  onResource:[NSURL URLWithString:audioFile]
             usingParameters:nil
                 withAccount:account
      sendingProgressHandler:nil
             responseHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
                 NSError *playerError;
                 audioPlayer = [[AVAudioPlayer alloc] initWithData:data error:&playerError];
                 audioPlayer.numberOfLoops = 0;

                 [audioPlayer prepareToPlay];
                 [audioPlayer play];
             }];

問題: 最初に SoundCloud アカウントにログインせずに SoundCloud ファイルを再生する方法はありますか? すべてのユーザーが SoundCloud の使用を検討することを願っていますが、使いやすさのために、新しいユーザーが以前にいくつかのトラックを聴くことができれば便利です。

4

1 に答える 1

14

IOS Soundcloud SDK を使用したパブリック アクセスの場合、Soundcloud clientID をパラメータとしてリクエスト文字列に追加する必要があります。

NSString *urlString = [NSString stringWithFormat:@"%@?client_id=%@", publicTrackUrlString, yourSCClientID];
[SCRequest performMethod: SCRequestMethodGET 
              onResource: [NSURL URLWithString:urlString]
         usingParameters: nil 
             withAccount: nil
  sendingProgressHandler: nil 
         responseHandler:^(NSURLResponse *response, NSData *data, NSError *error){
                      // 
         }];

次に、withAccount: パラメータが nil の場合、パブリック トラックで機能します。

よりエレガントに、「client_id」を辞書にパックして、usingParameters で使用することもできます。

NSDictionary *params = @{@"client_id": yourSCClientID} ;

于 2013-03-25T16:53:53.183 に答える