| 测试已测试 | ✓ |
| Lang语言 | Obj-CObjective C |
| 许可证 | MIT |
| 发布最后发布 | 2014年12月 |
由 Elliot Chance 维护。
| 依赖 | |
| CollectionFactory | >= 0 |
| NSURL+QueryDictionary | >= 0 |
| MBHMAC | >= 0 |
这是用 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)年份- (NSURL *)streamUrl 函数在“Track”类中提供,它将发出同步调用(轨道流URL不是随轨道提供的,它必须在之后获取)以获取流URL。此URL可以用于任何了解MP3流传输的媒体播放器。