【问题标题】:Deezer iOS SDK - Play specific track from radioDeezer iOS SDK - 从收音机播放特定曲目
【发布时间】:2017-12-10 16:54:18
【问题描述】:

我目前正在使用 Deezer SDK 在我的应用程序中播放来自 deezer 的收音机。 即使用户没有授权我的应用,也可以播放收音机。

有没有办法从收音机播放特定曲目?

我正在关注this guide,但似乎这在旧的 Sdk 中是可能的,但在新的 Sdk 中却不行。 在旧的sdk中还有更多的Delegate方法,例如

- (void)player:(PlayerFactory *)player timeChanged:(long)time

但我的主要目标是播放收音机中的曲目,以确保不会连续两次播放同一曲目。

有人知道如何实现我的目标吗?

【问题讨论】:

    标签: ios objective-c deezer


    【解决方案1】:

    即使您没有连接也可以播放收音机,如果您愿意,可以在这里查看:

    当然,您可以从收音机播放特定曲目, 收音机就像一个播放列表或专辑,它是一个 DZRObjectList。

    从您的 DZRObjectList 中,您可以调用:

    - (void)allObjectsWithManager:(DZRRequestManager *)manager callback:(void (^)(NSArray *objs, NSError *error))callback;
    

    每个对象都应该是一个轨道,因此您可以通过直接在数组上进行检查来实现您的目标。

    最好的问候,

    编辑

    这是一个例子:

    DZRRadio *yourDZRRadio;
    DZRRequestManager *manager = [[DZRRequestManager defaultManager] subManager];
    [yourDZRRadio valueForKey:@"tracks" withRequestManager:manager callback:^(DZRObjectList *objectList, NSError *error) {
        if (objectList != nil) {
            [objectList allObjectsWithManager:manager callback:^(NSArray *tracks, NSError *error) {
                /*
                 *  Here you have tracks from your radio so you can send it to your player :)
                 */
            }];
        } else {
    
        }
    }];
    

    【讨论】:

    • 你能给我写个例子吗?您写的内容似乎很有趣,但我不明白如何从收音机中获取 dzrObjectlist 并播放单曲
    • 非常感谢。它可以工作,有点..这样,如果用户没有登录 deezer,则有 30 秒的限制,对吧?
    • @allemattio 如果您想在自己的播放器中播放曲目,则限制为 30 秒。如果您使用 DZRPlayer,则如果用户已登录,则没有限制。如果需要示例,可以查看 SDK 的示例。
    猜你喜欢
    • 2019-09-21
    • 2014-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多