Перейти к основному содержимому

Максимальная длительность записи

Получите или задайте максимальную длительность записи звука, поддерживаемую устройством. SDK использует минуты.

Предварительные условия

  • Устройство подключено и готово к работе.
  • Устройство поддерживает DeviceAudioRecordingAPI.
  • Перед отображением текущего значения maxAudioRecordDuration не равно nil.

Справочник API

Фреймворк

AIBuds.xcframework

Импорт

Swift
import AIBuds

Протокол

Swift
/// The protocol for device API that supports audio recording.
protocol DeviceAudioRecordingAPI: DeviceAPI {
    /// Maximum audio recording duration (in minutes) allowed by the device.
    var maxAudioRecordDuration: NSNumber? { get }

    /// Sets the maximum audio recording duration (in minutes) allowed by the device.
    /// - Parameters:
    ///   - duration: The desired maximum recording duration in minutes.
    ///   - completion: A closure that is called when the operation completes.
    ///     - success: `true` if the operation was successful; otherwise `false`.
    ///     - error: An `NSError` object that describes the error that occurred, or `nil` if the operation was successful.
    func setMaxAudioRecordDuration(
        _ duration: Int,
        completion: AIBudsCompletionHandler?
    )
}

Свойство и метод экземпляра

СимволНазначение
maxAudioRecordDurationТекущая максимальная длительность в минутах или nil, если недоступна.
setMaxAudioRecordDurationЗадать максимальную длительность в минутах.

Текущее Demo SDK использует ползунок 1...120 минут. Открытый SDK пока не определяет общий допустимый диапазон, поэтому считайте эти границы соглашением Demo.

Примеры использования

Swift
import AIBuds

guard let device = device as? DeviceAudioRecordingAPI else {
    print("Device does not support audio recording")
    return
}

if let minutes = device.maxAudioRecordDuration?.intValue {
    print("Current maximum: \(minutes) minutes")
}

// 30 minutes follows the range used by the current SDK Demo.
device.setMaxAudioRecordDuration(30) { success, error in
    if !success {
        print(error?.localizedDescription ?? "Failed to update the duration")
    }
}

Обработка ошибок

Если обновление не удалось, восстановите отображаемое значение из maxAudioRecordDuration. SDK пока не публикует поддерживаемый диапазон, поэтому изолируйте границы Demo и замените их после появления публичной возможности устройства.