2017-05-17 6 views

Antwort

0

Zwei Wege gefunden, aber für beide wird das Springboard benötigt. Da sich Apps und Tools in einer Sandbox befinden, können diese Lösungen nur in einem Tweak verwendet werden, der sich in Springboard einklinkt!

Erstens:

@interface SBMediaController : NSObject 
+ (id)sharedInstance; 
- (BOOL)isPlaying; 
@end 

bool isMusicPlaying = [[%c(SBMediaController) sharedInstance] isPlaying]; // this is always false if not hooked into Springboard! 

Zweite (diese Lösung ist asynchron):

#import <MediaRemote/MediaRemote.h> // also add MediaRemote to your XXX_PRIVATE_FRAMEWORKS 

MRMediaRemoteGetNowPlayingInfo(dispatch_get_main_queue(), ^(CFDictionaryRef information) { 
    NSDictionary *dict=(__bridge NSDictionary *)(information); 
    if(dict != NULL && [dict objectForKey:(__bridge NSString *)kMRMediaRemoteNowPlayingInfoPlaybackRate] != NULL){ 
    float rate = [[dict objectForKey:(__bridge NSString *)kMRMediaRemoteNowPlayingInfoPlaybackRate] floatValue]; 
    NSLog(@"playbackRate %f", rate); 
    bool isMusicPlaying = rate > 0.0; 
    } 
}); 
Verwandte Themen