Используйте акселерометр в моем приложении для просмотра фильмов - PullRequest
0 голосов
/ 20 декабря 2011

У меня было приложение, которое воспроизводит видео с веб-сервера, но оно воспроизводит только альбомную ориентацию. Я хочу, чтобы мое приложение использовало акселерометр для воспроизведения видео как в альбомной, так и в альбомной ориентации. Я хочу, чтобы моя функция воспроизведения видео была похожа на приложение YouTube в iPhone. Может кто-нибудь, пожалуйста, помогите мне, как это сделать? спасибо

1 Ответ

1 голос
/ 27 декабря 2011

Для этого вам не нужен акселерометр.Вместо этого вы слушаете уведомления от одноэлементного экземпляра UIDevice, которые отправляются при изменении ориентации.В своем методе «application didFinishLaunching withOptions» введите:

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(deviceOrientationDidChange) name: UIDeviceOrientationDidChangeNotification object: nil];

и создайте этот метод для обработки изменения ориентации:

- (void)deviceOrientationDidChange {
int orientation = (int)[[UIDevice currentDevice]orientation];
switch (orientation) {
    case UIDeviceOrientationFaceDown:
        NSLog(@"UIDeviceOrientationFaceDown" );
        // handle orientation
        break;
    case UIDeviceOrientationFaceUp:
        NSLog(@"UIDeviceOrientationFaceUp" );
        // handle orientation
        break;
    case UIDeviceOrientationLandscapeLeft:
        NSLog(@"UIDeviceOrientationLandscapeLeft" );
        // handle orientation
        break;
    case UIDeviceOrientationLandscapeRight:
        NSLog(@"UIDeviceOrientationLandscapeRight" );
        // handle orientation
        break;
    case UIDeviceOrientationPortrait:
        NSLog(@"UIDeviceOrientationPortrait" );
        // handle orientation
        break;
    case UIDeviceOrientationPortraitUpsideDown:
        NSLog(@"UIDeviceOrientationPortraitUpsideDown" );
        // handle orientation
        break;
    case UIDeviceOrientationUnknown:
        NSLog(@"UIDeviceOrientationUnknown" );
        // handle orientation
        break;

    default:
        break;
}
}
...