iOS:以编程方式检查设置-辅助功能-音频描述属性

8yoxcaq7  于 2023-02-26  发布在  iOS
关注(0)|答案(3)|浏览(203)

我想以编程方式检查iOS辅助功能设置中有关音频描述的属性。
我知道iOS会暴露一些关于辅助功能设置https://developer.apple.com/documentation/uikit/uiaccessibility的属性
但我找不到“音频描述”设置的属性。
有人知道在哪能找到这个吗?谢谢

ni65a41a

ni65a41a1#

我想以编程方式检查iOS辅助功能设置中有关音频描述的属性。
实际上,这在iOS 13**中还不可能。😞
可编程的所有选项的完整列表可以在下面找到:

如果需要,这些选项中的每一个也在本网站的Description表中详细说明。👍

Each one of these options is also detailed in the Description sheet of this a11y website section if need be.
不幸的是,设置菜单中的属性并不都对开发人员可用。🥺

eh57zj3b

eh57zj3b2#

只是检查一下iOS 15+是否可以实现这一点?我有一个独特的用例,我将.mp3的音频描述与原始的.mp4音频合并到AVMutableComposition中,我希望利用内置的音频描述设置,而不是向视频播放器控件添加自定义切换

6pp0gazn

6pp0gazn3#

我发现了一种使用MediaAccessibility框架来读取/收听音频描述系统设置的方法
以下是如何收听更改:

NotificationCenter
      .default
      .publisher(for: MediaAccessibility.kMAAudibleMediaSettingsChangedNotification as Notification.Name)
      .sink { [weak self] _ in
        self?.handleAudibleMediaSettingsChangedNotification()
      }
      .store(in: &cancellables)

这是如何读取系统设置中的当前AD设置

private func handleAudibleMediaSettingsChangedNotification() {
    guard let array = MAAudibleMediaCopyPreferredCharacteristics().takeRetainedValue() as? [String],
          array.contains(MAMediaCharacteristicDescribesVideoForAccessibility as String)
    else {
      /// AD in system settings is OFF
      return
    }

    /// AD in system settings is ON
  }

相关问题