Apparently, MPMoviePlayerController isn't the way to go for this. What I ended 
up doing was using MPMoviePlayerViewController and overrode the 
remoteControlReceivedWithEvent to customize the controls.

Below is my current code which I am using.


@interface MGMMoviePlayerViewController : MPMoviePlayerViewController
- (void)remoteControlReceivedWithEvent:(UIEvent *)event;
@end

@implementation MGMMoviePlayerViewController
- (void)remoteControlReceivedWithEvent:(UIEvent *)theEvent {
    if (theEvent.type==UIEventTypeRemoteControl) {
        if (theEvent.subtype==UIEventSubtypeRemoteControlPlay) {
            [[self moviePlayer] play];
        } else if (theEvent.subtype==UIEventSubtypeRemoteControlPause) {
            [[self moviePlayer] pause];
        } else if 
(theEvent.subtype==UIEventSubtypeRemoteControlTogglePlayPause) {
            if ([[self moviePlayer] 
playbackState]==MPMoviePlaybackStatePlaying) {
                [[self moviePlayer] pause];
            } else {
                [[self moviePlayer] play];
            }
        } else if (theEvent.subtype==UIEventSubtypeRemoteControlStop) {
            [[self moviePlayer] stop];
        } else if (theEvent.subtype==UIEventSubtypeRemoteControlNextTrack) {
            NSTimeInterval currentTime = [[self moviePlayer] 
currentPlaybackTime];
            currentTime += 10;
            if (currentTime>[[self moviePlayer] duration])
                currentTime = [[self moviePlayer] duration];
            [[self moviePlayer] setCurrentPlaybackTime:currentTime];
        } else if (theEvent.subtype==UIEventSubtypeRemoteControlPreviousTrack) {
            NSTimeInterval currentTime = [[self moviePlayer] 
currentPlaybackTime];
            currentTime -= 10;
            if (currentTime<0)
                currentTime = 0;
            [[self moviePlayer] setCurrentPlaybackTime:currentTime];
        } else if 
(theEvent.subtype==UIEventSubtypeRemoteControlBeginSeekingBackward) {
            [[self moviePlayer] beginSeekingBackward];
        } else if 
(theEvent.subtype==UIEventSubtypeRemoteControlBeginSeekingForward) {
            [[self moviePlayer] beginSeekingForward];
        } else if 
(theEvent.subtype==UIEventSubtypeRemoteControlEndSeekingBackward || 
theEvent.subtype==UIEventSubtypeRemoteControlEndSeekingForward) {
            [[self moviePlayer] endSeeking];
        }
    }
}
@end


- (void)tableView:(UITableView *)theTableView 
didSelectRowAtIndexPath:(NSIndexPath *)theIndexPath {
    NSString *file = [[MGMFilesPath stringByExpandingTildeInPath] 
stringByAppendingPathComponent:[files objectAtIndex:[theIndexPath 
indexAtPosition:1]]];
    
    moviePlayerView = [[MGMMoviePlayerViewController alloc] 
initWithContentURL:[NSURL fileURLWithPath:file]];
    
    [self presentMoviePlayerViewControllerAnimated:moviePlayerView];
    [[moviePlayerView moviePlayer] play];
    
    [fileView deselectRowAtIndexPath:theIndexPath animated:NO];
}
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to