Как я могу воспроизводить аудио в формате FairPlay на AppleWatch с watchOS 5? - PullRequest
0 голосов
/ 21 сентября 2018

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?

...