Soundcloud iOS API - 从链接播放声音

Posted

技术标签:

【中文标题】Soundcloud iOS API - 从链接播放声音【英文标题】:Soundcloud iOS API - playing sound from link 【发布时间】:2014-01-17 03:58:56 【问题描述】:

我想使用 Soundcloud API 在我的应用中播放公共声音。在网上进行了一些搜索后,我找到了一种方法,但我无法让我的代码正常工作。这是我尝试播放声音的代码:

    NSString *publicTrackUrlString = @"https://soundcloud.com/miroslav-osipovic/the-cat-empire-the-lost-song";
NSString *urlString = [NSString stringWithFormat:@"%@?client_id=64a52bb31abd2ec73f8adda86358cfbf", publicTrackUrlString];
[SCRequest performMethod:SCRequestMethodGET
              onResource:[NSURL URLWithString:urlString]
         usingParameters:nil
             withAccount:nil
  sendingProgressHandler:nil
         responseHandler:^(NSURLResponse *response, NSData *data, NSError *error) 
             NSError *playerError;
             player = [[AVAudioPlayer alloc] initWithData:data error:&playerError];
             [player prepareToPlay];
             [player play];
         ];

【问题讨论】:

【参考方案1】:
NSString *trackID = @"100026228";
NSString *clientID = @"YOUR_CLIENT_ID";
NSURL *trackURL = [NSURL URLWithString:[NSString stringWithFormat:@"https://api.soundcloud.com/tracks/%@/stream?client_id=%@", trackID, clientID]];

NSURLSessionTask *task = [[NSURLSession sharedSession] dataTaskWithURL:trackURL completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) 
    // self.player is strong property
    self.player = [[AVAudioPlayer alloc] initWithData:data error:nil];
    [self.player play];
];

[task resume];

您可以从解析资源中获取轨道 ID:http://api.soundcloud.com/resolve.json?url=http://soundcloud.com/miroslav-osipovic/the-cat-empire-the-lost-song&client_id=YOUR_CLIENT_ID。

【讨论】:

以上是关于Soundcloud iOS API - 从链接播放声音的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法强制使用SoundCloud javascript流API的MP3块?

NLP论文的技术播客-NLP Highlights

Soundcloud SDK 是不是支持 64 位?

使用 Go 从 SoundCloud MP3 流媒体 URL 播放?

Soundcloud API - 轨道上的地理标签过滤返回 503 服务不可用

html jQuery,AJAX:即时AJAX搜索(Bonus:SoundCloud API搜索)