4

SoundCloudでプレイリストを作成するウェブサイトを手に入れました。今度はiPhone用のアプリを作って、ユーザーもそこで曲を聴けるようにしたいと思います。

http://developers.soundcloud.com/docs/api/ios-quickstart リンクの例では、ユーザーはサインインしてリッスンして共有する必要がありますが、ユーザーだけがリッスンするようにします。サインインする必要がないようにする方法はありますか?

4

2 に答える 2

1

プレイリストを JSON で出力するページを作成し、xcode で、トラック ディクショナリの JSON をダウンロードし、ダウンロードしたコンテンツを AVPlayer (リスト全体を再生する場合は AVQueuePlayer) を使用して再生するクラスを作成します。

ここにいくつかの抽象的なコードがあります:

playlistDownloader.m
- (void)downloadPlaylist{
dispatch_queue_t concurrentQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

dispatch_sync(concurrentQueue, ^{
    NSURL *url = [NSURL URLWithString:@"http://www.yourwebsite.com/playlist.json?id=1"];
    NSData *data = [NSData dataWithContentsOfURL:url];
    NSError *error;

    id trackData = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error];

    if (!error) {
        tempTrackArray = trackData;
    } else {
        NSLog(@"Playlist wasn't able to download");
    }
});
}

tempTrackArray は、クラスで宣言されたプロパティになります。

次に、プレーヤーで次のようにします。

audioPlayer.m
- (void)instanciateAudioPlayer
{
NSDictionary *trackDictionary = [playListDownloader.tempTrackArray objectAtIndex:0];
NSString *urlString = [trackDictionary objectForKey:@"stream_url"];

AVAsset *asset = [AVAsset assetWithURL:streamURL];
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset];

[avPlayer initWithPlayerItem:playerItem];
}

これは非常に大まかなコードですが、やろうとしていることの一般的な要点です。あなたを正しい方向に導くはずです。

于 2013-04-11T20:24:27.857 に答える