Есть ли способ остановить сброс свойства оценки AVPlayer? - PullRequest
0 голосов
/ 31 декабря 2011

Я использую объект AVPlayer для воспроизведения видео и имею элемент управления для настройки скорости проигрывателя.

Все это работает нормально, за исключением того, что значение скорости объекта AVplayer, по-видимому, сбрасывается в 1,0 каждый разкнопка остановки / паузы нажата.Есть ли способ предотвратить это?

Большое спасибо.

Ответы [ 4 ]

5 голосов
/ 17 апреля 2012

[AVPlayer play] эквивалентно [AVPlayer setRate:1.0]

[AVPlayer pause] эквивалентно [AVPlayer setRate:0.0]

0 голосов
/ 04 октября 2012

Сброс ставки методом «воспроизведения» AVPlayer странный, но верный. Я использую следующий код в качестве обходного пути, чтобы загрузить новый элемент игрока, настроить скорость воспроизведения и позволить ему воспроизводиться:

[self.player replaceCurrentItemWithPlayerItem: [AVPlayerItem playerItemWithURL: movieURL]];
self.player.rate = PLAYER_RATE;
[self.player seekToTime: kCMTimeZero];
0 голосов
/ 02 мая 2012

MPMediaItem дает вам свойство читать удары в минуту элемента мультимедиа.

Как то так -

MPMediaItem *item = [[MPMediaItem alloc]init] ;
.
.
.
int BPM =  [item valueForProperty:MPMediaItemPropertyBeatsPerMinute];

Теперь вычислите скорость, с которой вы хотите установить рейтинг медиа элемента -

float rate = newBPM/(float)BPM; // lets say BPM = 100, You want to double the rate of the media then newBPM = 200

А теперь установите эту скорость для объекта AVPlayer-

[AVPLayer setRate:rate];
0 голосов
/ 20 января 2012

Вслед за этим в интересах Google ...

Свойство тарифа сбрасывается на 1,0 каждый раз, когда игрок начинает играть, поэтому вам нужно сохранить значение ставки в другом месте, чтобы повторно применить его ккаждая игра.

...