#iphone #objective-c
#iPhone #objective-c
Вопрос:
я использую этот код для отображения видео в моем приложении
NSURL *movieUrl = [NSURL fileURLWithPath:
[[NSBundle mainBundle] pathForResource:@"myvideoname"
ofType:@"mp4"]];
//create a new instance of MPMoviePlayerController
MPMoviePlayerController* myMovie=[[MPMoviePlayerController alloc]
initWithContentURL:movieUrl];
//disable scaling of our movie
myMovie.scalingMode = MPMovieScalingModeNone;
[myMovie.view setFrame: myView.bounds]; // player's frame must match parent's
[myView addSubview: myMovie.view];
[[myMovie view] setFrame:[myView bounds]];
//don't show any controls
// myMovie.movieControlMode = MPMovieControlModeHidden;
//you can specify at which time the movie should
//start playing (default is 0.0)
myMovie.initialPlaybackTime = 2.0;
//register a callback method which will be called
//after the movie finished
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(movieFinished:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:myMovie];
myMovie.scalingMode = MPMovieScalingModeAspectFill;
//start the movie (asynchronous method)
[myMovie play];
// Do any additional setup after loading the view from its nib.
это работает нормально, но я хочу добавить элементы управления (воспроизведение, остановка, управление звуком …)
Как я могу сделать? спасибо
Ответ №1:
Для чего используется ControlStyle?
myMovie.constrolStyle = MPMovieControlStyleEmbedded;
MPMovieControlStyle
Константы, описывающие стиль элементов управления воспроизведением.
enum {
MPMovieControlStyleNone,
MPMovieControlStyleEmbedded,
MPMovieControlStyleFullscreen,
MPMovieControlStyleDefault = MPMovieControlStyleFullscreen
};
typedef NSInteger MPMovieControlStyle;
Константы
MPMovieControlStyleNone Никакие элементы управления не отображаются. Доступно в
iOS 3.2 и более поздних версиях. Объявлено в
MPMoviePlayerController.h.MPMovieControlStyleEmbedded
Отображаются элементы управления для встроенного просмотра.
Элементы управления включают в себя
кнопку запуска / паузы, панель очистки и кнопку
для переключения между полноэкранным и
встроенным режимами отображения. Доступно в
iOS 3.2 и более поздних версиях. Объявлено в
MPMoviePlayerController.h.MPMovieControlStyleFullscreen
Отображаются элементы управления для полноэкранного воспроизведения.
Элементы управления включают в себя кнопку запуска / паузы
, панель очистки, кнопки поиска вперед и
назад, кнопку для
переключения между полноэкранным и
встроенным режимами отображения, кнопку для
переключения режима заливки сторон и
кнопку «Готово». Нажатие кнопки готово приостанавливает видео и выходит из полноэкранного
режима. Доступно в iOS 3.2 и более поздних версиях.
Объявлено в MPMoviePlayerController.h.MPMovieControlStyleDefault
По умолчанию отображаются полноэкранные элементы управления.
Доступно в iOS 3.2 и более поздних версиях.
Объявлено в MPMoviePlayerController.h.
MPMovieFinishReason
Ответ №2:
Вы должны установить стиль управления, например myMovie.controlStyle = MPMovieControlStyleDefau<
, чтобы добавить панель управления.
Комментарии:
1. @Henrik @texmex5 спасибо за ответ. Я добавил MyMovie.ControlStyle = MPMovieControlStyleEmbedded; гайка ничего не меняется. и я не понимаю, куда мне поместить перечисление: (я вставил его в .h, .m у меня всегда возникает ошибка…
2. Вам не нужно добавлять перечисление в ваш заголовочный файл. Единственная строка, которую вам нужно добавить, это MyMovie.ControlStyle = MPMovieControlStyleEmbeded.
Ответ №3:
Определите controlStyle
свойство для MPMoviePlayerController
объекта.
Константы, описывающие стиль элементов управления воспроизведением.
enum {
MPMovieControlStyleNone,
MPMovieControlStyleEmbedded,
MPMovieControlStyleFullscreen,
MPMovieControlStyleDefault = MPMovieControlStyleFullscreen
};
typedef NSInteger MPMovieControlStyle;
Подробнее здесь