Во время тестирования своего приложения на iOS 14 я обнаружил, что некоторые файлы в формате mp3 не работают должным образом. От начала до конца ошибок нет, но звуки слышны только в самом начале и приглушаются в следующие секунды.
Вот примеры кодов для воспроизведения.
NSURL *url = [NSURL URLWithString:urlString];
BOOL preferPreciseDuration = YES;
NSDictionary *options = @{AVURLAssetPreferPreciseDurationAndTimingKey: @(preferPreciseDuration)};
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:url options:options];
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset];
[playerItem addObserver:self forKeyPath:@"status" options:NSKeyValueObservingOptionInitial|NSKeyValueObservingOptionNew context:nil];
player = [AVPlayer playerWithPlayerItem:playerItem];
[player play];
Я некоторое время изучал это и обнаружил:
- Эта проблема возникает только на iOS 14+.
- Если я опущу параметр
AVURLAssetPreferPreciseDurationAndTimingKey
, все будет работать нормально. - Кажется, это связано с сервером, я протестировал два URL-адреса, на которых размещен один и тот же файл, но sample1 работает, а sample1 - нет.
- На том же сервере file1 работает, а file2 не работает.