GoogleMusicClient 1.0

GoogleMusicClient 1.0

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2014年12月

Elliot Chance 维护。



 
依赖
CollectionFactory>= 0
NSURL+QueryDictionary>= 0
MBHMAC>= 0
 

  • 作者:
  • Elliot Chance

这是用 Objective-C 编写的,实现非官方 Google Music API 的一个实现。

用法

使用 CocoaPods

pod 'GoogleMusicClient'

然后在您的源代码中包含它

#import <GoogleMusicClient.h>

基本客户端

登录

GoogleMusicClient *client = [GoogleMusicClient new];
[client loginWithEmail:@"[email protected]" password:@"foobar" delegate:self];

delegate 是一个异步的 id<GoogleMusicClientDelegate>,它将返回以下回调之一

  • - loginDidSucceed
  • - loginDidFail
  • - doesNotHaveInternet

封装客户端的协议提供了 - (BOOL)isLoggedIn 以允许您在任何时候检查连接状态。

配置文件设置

客户端提供了以下设置,这些是同步的,但会在您下次连接之前进行缓存

  • - (NSDictionary *)profileSettings - 以字典的形式获取所有配置文件设置。
  • - (BOOL)desktopNotications - 客户端是否启用了桌面通知。
  • - (BOOL)useHTML5Audio - 客户端是否希望使用 HTML5 音频而不是 Adobe Flash。
  • - (BOOL)use5StarRatings - 客户端是否希望使用“5星级评分”系统而不是点赞/踩。
  • - (BOOL)viewTrackComments - 客户端是否希望显示曲目评论。
  • - (BOOL)chromecastFireplaceVisualizer - 客户端是否使用 Chromecast 中的可视化程序。

账户设置

有各种状态标志可用 - 其中大部分都是相当直白的

  • - (BOOL)accountIsCanceled
  • - (BOOL)accountIsSubscription
  • - (BOOL)accountIsTrial
  • - (BOOL)accountIsSubscribedToNewsletter
  • - (NSInteger)accountMaximumAllowedTracks - 这应该是正常付费账户的 20,000。
  • - (NSDate *)accountExpireTime

媒体库

获取所有曲目

您可以使用以下方式异步获取整个库

- (void)fetchAllTracksWithDelegate:(id<GoogleMusicLibraryParserDelegate>)delegate

delegate 将回调

- (void)didFinishReceivingTracks:(NSArray *)tracks

tracks 中的数组将包含 Track 对象。

曲目

以下元数据可用

  • - (NSString *)专辑
  • - (NSString *)专辑艺术URL
  • - (NSString *)专辑艺术家
  • - (NSString *)艺术家
  • - (NSUInteger)比特率
  • - (NSString *)作曲家
  • - (NSString *)注释
  • - (NSDate *)创建日期
  • - (NSUInteger)光盘编号
  • - (NSUInteger)光盘总数
  • - (NSTimeInterval)时长
  • - (NSString *)流派
  • - (NSString *)大尺寸专辑艺术URL
  • - (NSDate *)上次播放日期
  • - (NSString *)匹配ID
  • - (NSDate *)修改日期
  • - (NSArray *)原始内容
  • - (NSUInteger)播放次数
  • - (NSUInteger)评分
  • - (NSString *)商店ID
  • - (NSString *)轨道ID
  • - (NSString *)标题
  • - (NSUInteger)轨道编号
  • - (NSUInteger)轨道总数
  • - (enum TrackType)类型
  • - (NSUInteger)年份

获取轨道流URL

- (NSURL *)streamUrl 函数在“Track”类中提供,它将发出同步调用(轨道流URL不是随轨道提供的,它必须在之后获取)以获取流URL。此URL可以用于任何了解MP3流传输的媒体播放器。