watchOS 5 поддерживает новый режим фонового звука, так что аудиоприложения (Audible, Overcast и т. Д.) Могут воспроизводиться непосредственно с часов.Я работаю над аудио-функциями для моего приложения, но мне нужно использовать FairPlay DRM.Я сегментировал аудиофайлы aac с помощью плейлистов .m3u8, и я загружаю их, используя AVAssetDownloadTask , и делаю ключевой материал FairPlay с AVAssetResourceLoaderDelegate на iPhone.И я хотел бы добавить приложение для часов, чтобы воспроизводить мой контент без телефона.
Но я не вижу ничего подобного в API часов.AVAssetResourceLoaderDelegate и AVContentKeySession недоступны в watchOS, а AVAudioPlayer не использует AVAsset или, по-видимому, любой другой способ выполнения операций с ключом FairPlay (я использую AVPlayer по телефону).
В Создание аудио приложений для сеанса watchOS на WWDC 2018 докладчик говорит:
А в случае AVAudioEngine выможет фактически воспроизводить некоторый контент DRM вместе с узлом AVAudioPlayer.Теперь вы можете воспроизводить свой собственный DRM-контент, самостоятельно дешифровать его и воспроизводить для своего пользователя.
Но я еще ничего не нашел о AVAudioEngine и FairPlayаудио.
Я изучил AVAudioExportSession , чтобы попытаться перекодировать мой контент FairPlay в MP3, AAC или M4A или что-то, что я могу перенести на часы, но это ничего не значит.форматы совместимы:
AVAsset *asset = [self getDownloadedFairplayAsset];
NSArray<NSString *> *possible = [AVAssetExportSession exportPresetsCompatibleWithAsset:asset];
for (NSString *preset in possible)
{
AVAssetExportSession *session = [AVAssetExportSession exportSessionWithAsset:asset presetName:preset];
[session determineCompatibleFileTypesWithCompletionHandler:^(NSArray<AVFileType> * _Nonnull compatibleFileTypes) {
NSLog(@"Compatible types with %@: %@", preset, compatibleFileTypes);
//this is always an empty array
}];
}
Итак, мой вопрос: Как воспроизвести звук в формате FairPlay в приложении watchOS 5?