Воспроизведение / пересылка видео со скоростью 2x, 3x, 4x - iPhone SDK

Я хочу воспроизводить / пересылать видео в MPMoviePlayerController с разными скоростями. Может ли кто-нибудь предложить мне, как я это делаю.

Прямо сейчас я делаю перемотку вперед (на одной скорости), но через несколько секунд он возвращается на нормальной скорости.

Пожалуйста, предложите.

Ответы на вопрос(2)

Решение Вопроса
MPMoviePlayerController Conforms to MPMediaPlayback protocol 
you can see the property currentPlaybackRate as :-
@property(nonatomic) float currentPlaybackRate 
A value of 0 represents that the video is stopped , a value of 1 indicates normal speed and further positive values indicate increased speed while negative ones indicate reverse .

поскольку это единственный метод, который возвращает воспроизведение к нормальному

 09 мая 2012 г., 15:08
Возможно, вы захотите добавить свойство MPMoviePlayerController.autoPlay в соответствии с вашими потребностями приложения ... в соответствии с документацией Apple ". Этот метод вызывается автоматически при вызове метода play. Вызов его перед вызовом воспроизведения дает приемнику возможность быстрее подготовить элементы и может привести к уменьшению задержки при запуске воспроизведения. Однако вызов этого метода также может прервать любые активные аудиосеансы & quot; , Следовательно, это может быть полезно для уменьшения задержки, но иногда чистая скорость также играет роль в определении задержки.
 09 мая 2012 г., 15:09
для оптимизации вы можете использовать MPMoviePlayerController.movieSourceType, чтобы уменьшить задержку распознавания медиа и / или вызвать [MPMoviePlayerControllerInstance prepareToPlay], когда вы знаете, что пользователь собирается воспроизвести видео.
 Mitesh Khatri09 мая 2012 г., 13:17
Хай. Спасибо за ответ. я делаю это но видео проигрывается очень медленно. Я думаю, что он работает нормально только тогда, когда видео уже буферизовано. пожалуйста, предложите.

Here is a code to Forward and BackWard Movie as 2x 3x 4x speed for MPMoviePlayerViewController

In .h File

@property(nonatomic) float currentPlaybackRate;

In .m File

- (void)viewDidLoad
{
    currentPlaybackRate=1.0; //video Play in Normal speed
}

Now on FastForward and FastBackward Button Action

[fastForward addTarget:self action:@selector(fastForward) forControlEvents:UIControlEventTouchUpInside];

[fastBackWard addTarget:self action:@selector(fastBackward) forControlEvents:UIControlEventTouchUpInside];

Action Code

-(void)fastForward
{
    [mp.moviePlayer pause];
    playPauseButton.selected=TRUE;
    if (currentPlaybackRate < 0.0) {
        currentPlaybackRate = 1.0;
    }

    if (currentPlaybackRate < 4.0) {
        currentPlaybackRate=currentPlaybackRate+1.0;
        NSLog(@"Forward::%f",currentPlaybackRate);
        mp.moviePlayer.currentPlaybackRate=currentPlaybackRate;
    }
}
-(void)fastBackward
{
    [mp.moviePlayer pause];
    playPauseButton.selected=TRUE;

    if (currentPlaybackRate > 0.0) {
        currentPlaybackRate = 0.0;
    }


    if (currentPlaybackRate > -4.0) {
        currentPlaybackRate=currentPlaybackRate-1.0;
        NSLog(@"BackWard::%f",currentPlaybackRate);
        mp.moviePlayer.currentPlaybackRate=currentPlaybackRate;
    }
}

Ваш ответ на вопрос