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块?
使用 Go 从 SoundCloud MP3 流媒体 URL 播放?