iOS   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了objective-c – SoundCloud API iOS,无共享 – 只收听大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我有一个网站,我用SoundCloud制作播放列表.现在我想为iPhone制作一个应用程序,这样用户也可以收听那里的歌曲. http://developers.soundcloud.com/docs/api/ios-quickstart 在链接的示例中,用户必须登录才能收听和分享,但我希望我的用户只能收听.有没有办法让他们不必登录? 创建一个以JSON格式输出播放列表的页面,然后在xcode中创建
我有一个网站,我用SoundCloud制作播放列表.现在我想为iPhone制作一个应用程序,这样用户也可以收听那里的歌曲.

http://developers.soundcloud.com/docs/api/ios-quickstart
链接的示例中,用户必须登录才能收听和分享,但我希望我的用户只能收听.有没有办法让他们不必登录

解决方法

创建一个以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];
}

这是一些非常粗略的代码,但它是你想要做的一般要点.应该让你朝着正确的方向前进.

大佬总结

以上是大佬教程为你收集整理的objective-c – SoundCloud API iOS,无共享 – 只收听全部内容,希望文章能够帮你解决objective-c – SoundCloud API iOS,无共享 – 只收听所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。