Skip to content

Instantly share code, notes, and snippets.

@wowbroforce
Created December 24, 2021 10:59
Show Gist options
  • Save wowbroforce/9e9e05c986adc71b5ab137814f265791 to your computer and use it in GitHub Desktop.
Save wowbroforce/9e9e05c986adc71b5ab137814f265791 to your computer and use it in GitHub Desktop.
//
// AVMediaCharacteristic+Extensions.swift
//
// Created by Prokhor Kharchenko.
//
import AVFoundation
import MediaPlayer
extension AVMediaSelectionOption {
var characteristicString: String {
if hasMediaCharacteristic(AVMediaCharacteristic(rawValue: "AVMediaCharacteristicAudible")) {
return "Audible"
} else if hasMediaCharacteristic(AVMediaCharacteristic(rawValue: "AVMediaCharacteristicLegible")) {
return "Legible"
} else {
return "Other"
}
}
}
extension AVMediaSelectionGroup {
var characteristicString: String {
guard let groupMediaCharacteristics = value(forKey: "_groupMediaCharacteristics") as? [String] else { return "Some" }
if groupMediaCharacteristics.contains("AVMediaCharacteristicAudible") {
return "Audible"
} else if groupMediaCharacteristics.contains("AVMediaCharacteristicLegible") {
return "Legible"
} else {
return "Other"
}
}
}
extension MPNowPlayingInfoLanguageOption {
var characteristicString: String {
if languageOptionCharacteristics?.contains("AVMediaCharacteristicAudible") == true {
return "Audible"
} else if languageOptionCharacteristics?.contains("AVMediaCharacteristicLegible") == true {
return "Legible"
} else {
return "Other"
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment