我可以在表格视图中显示歌曲,但我无法播放.

点击获取曲目按钮时,这是我的代码

- (IBAction) getTracks:(id) sender
{

    SCRequestResponseHandler handler;
    handler = ^(NSURLResponse *response,NSData *data,NSError *error) {
        NSError *jsonError = nil;
        NSJSONSerialization *jsonResponse = [NSJSONSerialization
                                             JSONObjectWithData:data
                                             options:0
                                             error:&jsonError];
        if (!jsonError && [jsonResponse isKindOfClass:[NSArray class]]) {
            SCTTrackListViewController *trackListVC;
            trackListVC = [[SCTTrackListViewController alloc]
                           initWithNibName:@"SCTTrackListViewController"
                           bundle:nil];
            trackListVC.tracks = (NSArray *)jsonResponse;
            NSLog(@"json %@",(NSArray *)jsonResponse);
            [self presentViewController:trackListVC
                               animated:YES completion:nil];
        }
    };



    Nsstring *resourceURL = @"https://api.soundcloud.com/users/54237635/tracks.json?client_id=8a58d84d48322f5661cf14a3d80e005d";


    [SCRequest performMethod:SCRequestMethodGET
                  onResource:[NSURL URLWithString:resourceURL]
             usingParameters:nil
                 withAccount:nil
      sendingProgressHandler:nil
             responseHandler:handler];
}

这是我在tableview中的didselect中的代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    NSDictionary *track = [self.tracks objectAtIndex:indexPath.row];
    Nsstring *streamURL = [track objectForKey:@"stream_url"];


    [SCRequest performMethod:SCRequestMethodGET
                  onResource:[NSURL URLWithString:streamURL]
             usingParameters:nil
                 withAccount:nil
      sendingProgressHandler:nil
             responseHandler:^(NSURLResponse *response,NSError *error) {
                 NSError *playerError;
                 player = [[AVAudioPlayer alloc] initWithData:data error:&playerError];
                 [player preparetoPlay];
                 [player play];
             }];

    NSLog(@"streamURL %@",[track objectForKey:@"stream_url"]);
}

解决方法

由OP解决:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)
{

NSDictionary *track = [self.tracks objectAtIndex:indexPath.row];
    Nsstring *streamURL = [track objectForKey:@"stream_url"];

Nsstring *urlString = [Nsstring stringWithFormat:@"%@?client_id=%@",streamURL,CLIENT_ID];//Your client ID


[SCRequest performMethod:SCRequestMethodGET
              onResource:[NSURL URLWithString:urlString]
         usingParameters:nil
             withAccount:nil
  sendingProgressHandler:nil
         responseHandler:^(NSURLResponse *response,NSError *error) {
             NSError *playerError;

             NSLog(@"data:%@",data);
             player = [[AVAudioPlayer alloc] initWithData:data error:&playerError];
             [player preparetoPlay];
             [player play];
         }];
}

ios – 不从stream_url SoundCloud API播放声音的更多相关文章

  1. ios – 不从stream_url SoundCloud API播放声音

    我可以在表格视图中显示歌曲,但我无法播放.点击获取曲目按钮时,这是我的代码这是我在tableview中的didselect中的代码:解决方法由OP解决:

  2. 在IOS应用程序中播放SoundCloud文件

    使用提供的快速入门指南想在IOS应用程序中播放SoundCloud轨道.提供播放流的代码如下:问题:有没有一种方法可以播放SoundCloud文件而无需先登录到您的SoundCloud帐户?我们希望所有用户都考虑使用SoundCloud–但是,如果新用户之前可以收听多个曲目,那么可用性是有用的.解决方法要使用IOSSoundcloudSDK进行公共访问,您需要将SoundcloudclientID作为参数添加到请求字符串中:然后,当withAccount:参数为nil时,它将适用于公共轨道.更优雅的是,你

  3. ajax – 导航时soundcloud如何保持音乐播放?

    我想知道如何在网页之间导航时,soundcloud可以无缝播放音乐.有可能他们使用Ajaxcuz的顶部栏似乎没有重新加载导航,但我看到URL更改.有没有办法使用Ajax加载内容并将URL设置为另一个?

  4. 如何使用soundcloud Sdk iOS搜索曲目

    我已经阅读了适用于iOS的soundcloudsdk文档,虽然它谈到了从现有的soundcloud用户列出曲目,但它似乎没有说到搜索歌曲.那么有没有资源或示例?

  5. javascript – SoundCloud如何暂停其他选项卡?

    如果您有两个浏览器选项卡打开到Soundcloud页面或带有SoundcloudiFrame的页面,一个选项卡播放,当您在其他选项卡中按播放时,它将暂停第一个.Howe到底是这样吗?解决方法它使用本地存储来实现这一点.它存储在每个标签中播放或暂停的所有歌曲的JSON数据.一旦播放另一首歌曲,所有其他歌曲的播放状态都将设置为暂停在本地存储中.最有可能的是,一个localStorage事件被触发,它检查哪些歌曲需要暂停并暂停.

  6. javascript – 为什么SoundCloud API看起来很残缺?

    我正在构建一个应用程序,并尝试使用’q’过滤器来使用API/轨道.这将查询SoundCloud并根据搜索条件检索歌曲.很简单.我的问题:与soundcloud.com本身的搜索功能相比,搜索功能似乎与使用/track一样残缺.结果似乎通过API质量低得多,而直接在网站上搜索可以获得高质量的结果.SoundCloud工程师可以对此发表评论吗?解决方法确保你使用’q’参数而不是’查询’.SC.get

  7. javascript – 调用play()时,Soundcloud流,soundmanager2对象永远不会在Chrome上开始播放

    在我的反应应用程序中使用SC.stream,我只是试图从soundcloudAPI播放一首曲目.这是我的代码:不幸的是,曲目从未开始播放.我在控制台中没有错误.编辑:问题仅在Chrome上,它在firefox和safari上完美运行.我现在更加困惑.编辑2:它似乎与不在Chrome上运行的HTML5播放器相关联:当您在chrome://plugins/重新启用Flash播放器时,通过选中“始终允许运行”,它可以正常工作解决方法当你有track.play()时,我不确定代码中的“track”是什么意思.如果

  8. 如何使用javascript创建Soundcloud播放列表(设置)?

    我正在尝试将Soundcloudapi用于我的应用程序,用户可以在其中创建自己的音轨播放列表.作为测试用例,我正在测试的示例几乎完全取自Soundclouddevdocs.下面是我的代码我已经在谷歌搜索了很多东西,但没有任何帮助我,实际上我需要临时播放列表所以当用户注销或关闭浏览器播放列表也删除.任何帮助都会很明显..thanx解决方法你能尝试发送client_secret=>‘YOUR_CLIENT_SECRET’作为初始化调用的一部分

  9. jquery – Soundcloud iframe在iOS下停止工作

    我已经编写了包含iframe中的一些soundcloud小部件的phoneGap/Cordova代码.该代码在Android和iOS下的桌面浏览器中运行良好.今天,iOS版本停止播放音乐.我也尝试在移动Safari和不同的iPhone和仿真器上运行代码,结果相同.所有其他平台仍然按照预期工作.Xcode控制台不显示任何不寻常的,但移动safari显示错误:我不知道这是否曾经在那里,但它是我能找到的最好的.这是代码的相应部分:我想知道这是否真的是一个跨域问题.帮助真的很感激.谢谢!

随机推荐

  1. iOS实现拖拽View跟随手指浮动效果

    这篇文章主要为大家详细介绍了iOS实现拖拽View跟随手指浮动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. iOS – genstrings:无法连接到输出目录en.lproj

    使用我桌面上的项目文件夹,我启动终端输入:cd然后将我的项目文件夹拖到终端,它给了我路径.然后我将这行代码粘贴到终端中找.-name*.m|xargsgenstrings-oen.lproj我在终端中收到此错误消息:genstrings:无法连接到输出目录en.lproj它多次打印这行,然后说我的项目是一个目录的路径?没有.strings文件.对我做错了什么的想法?

  3. iOS 7 UIButtonBarItem图像没有色调

    如何确保按钮图标采用全局色调?解决方法只是想将其转换为根注释,以便为“回答”复选标记提供更好的上下文,并提供更好的格式.我能想出这个!

  4. ios – 在自定义相机层的AVFoundation中自动对焦和自动曝光

    为AVFoundation定制图层相机创建精确的自动对焦和曝光的最佳方法是什么?

  5. ios – Xcode找不到Alamofire,错误:没有这样的模块’Alamofire’

    我正在尝试按照github(https://github.com/Alamofire/Alamofire#cocoapods)指令将Alamofire包含在我的Swift项目中.我创建了一个新项目,导航到项目目录并运行此命令sudogeminstallcocoapods.然后我面临以下错误:搜索后我设法通过运行此命令安装cocoapodssudogeminstall-n/usr/local/bin

  6. ios – 在没有iPhone6s或更新的情况下测试ARKit

    我在决定下载Xcode9之前.我想玩新的框架–ARKit.我知道要用ARKit运行app我需要一个带有A9芯片或更新版本的设备.不幸的是我有一个较旧的.我的问题是已经下载了新Xcode的人.在我的情况下有可能运行ARKit应用程序吗?那个或其他任何模拟器?任何想法或我将不得不购买新设备?解决方法任何iOS11设备都可以使用ARKit,但是具有高质量AR体验的全球跟踪功能需要使用A9或更高版本处理器的设备.使用iOS11测试版更新您的设备是必要的.

  7. 将iOS应用移植到Android

    我们制作了一个具有2000个目标c类的退出大型iOS应用程序.我想知道有一个最佳实践指南将其移植到Android?此外,由于我们的应用程序大量使用UINavigation和UIView控制器,我想知道在Android上有类似的模型和实现.谢谢到目前为止,guenter解决方法老实说,我认为你正在计划的只是制作难以维护的糟糕代码.我意识到这听起来像很多工作,但从长远来看它会更容易,我只是将应用程序的概念“移植”到android并从头开始编写.

  8. ios – 在Swift中覆盖Objective C类方法

    我是Swift的初学者,我正在尝试在Swift项目中使用JSONModel.我想从JSONModel覆盖方法keyMapper,但我没有找到如何覆盖模型类中的Objective-C类方法.该方法的签名是:我怎样才能做到这一点?解决方法您可以像覆盖实例方法一样执行此操作,但使用class关键字除外:

  9. ios – 在WKWebView中获取链接URL

    我想在WKWebView中获取tapped链接的url.链接采用自定义格式,可触发应用中的某些操作.例如HTTP://我的网站/帮助#深层链接对讲.我这样使用KVO:这在第一次点击链接时效果很好.但是,如果我连续两次点击相同的链接,它将不报告链接点击.是否有解决方法来解决这个问题,以便我可以检测每个点击并获取链接?任何关于这个的指针都会很棒!解决方法像这样更改addobserver在observeValue函数中,您可以获得两个值

  10. ios – 在Swift的UIView中找到UILabel

    我正在尝试在我的UIViewControllers的超级视图中找到我的UILabels.这是我的代码:这是在Objective-C中推荐的方式,但是在Swift中我只得到UIViews和CALayer.我肯定在提供给这个方法的视图中有UILabel.我错过了什么?我的UIViewController中的调用:解决方法使用函数式编程概念可以更轻松地实现这一目标.

返回
顶部