En mi iPhone, hasta iOS 6, cada vez que se reproduce música aparece un símbolo de reproducción (y desaparece cuando no se reproduce música).
¿Cómo puedo lograr un efecto similar en la barra de menú de OSX Mountain Lion?
Aquí hay un código de muestra para hacer esto en Cocoa (puede pegarlo en un nuevo proyecto XCode y compilarlo):
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:@"▶"];
}
}
El único defecto que pude ver en esta muestra es que estoy usando un carácter para el ícono de reproducción y no una imagen. Podría ser un problema cuando la codificación estropea algo.
Puede ver algunas de las aplicaciones de la barra de menú que controlan iTunes por usted. Algunos de ellos pueden tener una buena interfaz para eso. Aquí hay algunos http://mac.appstorm.net/roundups/music-roundups/five-slick-menu-bar-apps-for-controlling-itunes/
Matthieu Riegler
bajista7
Matthieu Riegler