Odkryłem, że mniejsze wartości są rzeczywiście obsługiwane, ale wszystkie ścieżki w AVPlayerItem muszą obsługiwać prędkość. Jednak firma Apple nie udostępnia właściwości poszczególnych ścieżek, które wskazywałyby, jakie stawki są obsługiwane, w produkcie AVPlayerItem istnieje tylko właściwość canPlaySlowForward.
Odkryłem, że AVPlayerItems ze ścieżką audio nie mogą być odtwarzane z szybkościami wolniejszymi niż 0,5. Jeśli jednak istnieje tylko ścieżka wideo, szybkość może mieć dowolnie małą wartość, np. 0,01. Postaram się napisać kategorię, która sprawdza na bieżąco, jakie wartości są obsługiwane i wyłącza nieobsługiwane ścieżki, jeśli jest taka potrzeba.
br Denis
UPDATE
pisałem funkcji, które można wywołać, gdy chcesz ustawić stawkę za wideo poniżej 0,5. Włącza/wyłącza wszystkie ścieżki audio.
- (void)enableAudioTracks:(BOOL)enable inPlayerItem:(AVPlayerItem*)playerItem
{
for (AVPlayerItemTrack *track in playerItem.tracks)
{
if ([track.assetTrack.mediaType isEqual:AVMediaTypeAudio])
{
track.enabled = enable;
}
}
}
Możliwe duplikat [odtwarzania Jerky z avplayer o stosowaniu z szybkością większą niż 2x] (http://stackoverflow.com/questions/40506059/jerky-playback-from-avplayer-on-applying-rate-greater- than-2x) –