È possibile avere un indicatore di riproduzione nella barra dei menu OSX?

1

Sul mio iPhone, fino a iOS 6, ogni volta che viene riprodotta la musica, appare un simbolo di riproduzione (e scompare quando non viene riprodotta la musica).

Come posso ottenere un effetto simile nella barra dei menu di OSX Mountain Lion?

    
posta bassplayer7 13.01.2013 - 01:34
fonte

2 risposte

5

Ecco un esempio di codice per farlo in Cocoa (puoi incollarlo in un nuovo progetto XCode e crearlo):

AppDelegate.h:

    NSStatusItem* statusItem;

AppDelegate.m:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    [[NSDistributedNotificationCenter defaultCenter] addObserver:self
                                                        selector:@selector(iTunesNotification:)
                                                            name:@"com.apple.iTunes.playerInfo"
                                                          object:nil]; //registering for notifications from iTunes

    [NSApp setActivationPolicy:NSApplicationActivationPolicyProhibited]; //No icon in the dock, menubar only

    statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength]; // For the icon in the status bar
}

- (void) iTunesNotification:(NSNotification *)note {
    NSDictionary *information = [note userInfo];
    NSString* state = [information objectForKey:@"Player State"];

    if([state isEqualToString:@"Paused"]) {
        //hiding the indicator
        [statusItem setTitle:@""];
    } else if ([state isEqualToString:@"Playing"]) {
        //showing the indicator
        [statusItem setTitle:@"▶"];
    }
}

L'unico difetto che ho potuto vedere in questo esempio è che sto usando un carattere per l'icona di riproduzione e non un'immagine. Potrebbe essere un problema quando la codifica crea problemi.

    
risposta data 13.01.2013 - 03:26
fonte
1

Puoi guardare alcune delle app della barra dei menu che controllano iTunes per te. Alcuni di questi potrebbero avere una bella interfaccia per questo. Ecco alcuni link

    
risposta data 13.01.2013 - 03:29
fonte

Leggi altre domande sui tag