Рубрика: Obj-C and OSX/iOS

Плеер в iOS

Music player

 
 
//Тут лежит MPNowPlayingInfoCenter и прочие MP*    
#import <mediaplayer /MediaPlayer.h>
 
 
 
 NSString * path = [[NSBundle mainBundle]pathForResource:@"some_track" ofType:@"mp3"];
 NSURL *url = [NSURL fileURLWithPath:path];
//Создаем плеер
 
AVAudioPlayer * player;
player  = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
//Задаем громкость
player.volume = 1.0f;
//Загружаем файл в буффер 
[player prepareToPlay];	
//Разрешаем играть в фоне
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback  error:nil];
 
//Загружаем обложку
UIImage * artwork = [UIImage imageNamed:@"Artwork.jpg"];
//Создаем словарь с параметрами now playing
NSDictionary * info = @{MPMediaItemPropertyAlbumTitle: @"Astronimia",
                        MPMediaItemPropertyArtist: @"TONY IGY",
                        MPMediaItemPropertyArtwork: [[MPMediaItemArtwork alloc] initWithImage:artwork]
                        };
//Отправляем созданное в куда следует
[MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo = info;
 
 
// Управление, со шторки, наушников, экрана блокировки
 
//Начинаем принимать события
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
//Заканчиваем принимать события
[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
 
//Обработчик событий
-(void) remoteControlReceivedWithEvent:(UIEvent *)event {
    if(event.type == UIEventTypeRemoteControl){
        switch (event.subtype) {
            case UIEventSubtypeRemoteControlTogglePlayPause:
            case UIEventSubtypeRemoteControlPlay:
            case UIEventSubtypeRemoteControlPause:
                [self togglePlayPause];
                break;
            default:
                break;
        }
    }
}
</mediaplayer>