1

Я хотел воспроизвести видео в 5 раз медленнее (mp4 видео, локальный файл), чтобы получить эффект медленной работы, но он просто не работает. Для значений выше 1.0, например 2.0f, он работает правильно, воспроизводя видео в 2 раза быстрее.MPMoviePlayerController setCurrentPlaybackRate не работает под значением 1.0 (для медленного видео)

Это код, который я использовал для воспроизведения видео на скорости 20%:

[_player prepareToPlay]; 
[_player play]; 
[_player setCurrentPlaybackRate:0.2f]; 

С помощью этого кода видео воспроизводится на нормальной скорости (1.0f), игнорируя мое значение 0.2f.

IOS 6.1.3 Xcode 4.6.2

Тестирование на устройстве.

ответ

0

Это, безусловно, имеет значение, когда вы звоните

[_player setCurrentPlaybackRate:0.2f];

Я столкнулся с подобными проблемами. У меня есть настройка UISlider для управления скоростью воспроизведения. Если я изменю скорость во время воспроизведения видео, это фактически изменит скорость. Однако, если я приостановил его, а затем снова нажал кнопку воспроизведения, он вернется к стандартной скорости 1x. Даже если я использую

MPMoviePlayerPlaybackStateDidChangeNotification

слушать для обновления игры, а затем вызвать

[_player setCurrentPlaybackRate:x.xx];.

Я считаю, что игрок устанавливает свое значение с помощью механика игры, я пытаюсь выяснить, что происходит в настоящее время, чтобы обновить его до значения UISlider при ударе игры. В настоящее время он переопределяет ценность по любой причине.

Хотя это не полное решение, я надеюсь, что это поможет вам двигаться вперед.

+0

Я вижу то же самое поведение. Вы нашли обходное решение? – bllubbor

Смежные вопросы