Я использовал приведенный ниже код. Но не давая подробностей глав и метаданных, таких как трек №. et c из .m4b
файла.
Здесь попытались получить chapterMetaDataGroup
информацию из URL-адреса файла, используя AVURLAsset
. Кажется, работает, когда URL-адрес MPMediaItemPropertyAssetURL
правильно. Но при использовании URL-адреса файла с устройства неправильно получаются метаданные.
var chapterList: [AnyHashable]? = nil
let asset = AVURLAsset(url: file, options: nil)
let locales = asset.availableChapterLocales
let locale = locales.last as NSLocale?
if locale != nil
{
chapterList = asset.chapterMetadataGroups(withTitleLocale: locale as! Locale, containingItemsWithCommonKeys: nil)
print(chapterList)
}