メインコンテンツまでスキップ

動作モードの取得

デバイスの現在の WorkMode を読み取ります。

前提条件

  • デバイスが接続済みで、使用可能な状態であること。
  • デバイスが DeviceWorkModeAPI に対応していること。

API Reference

フレームワーク

AIBuds.xcframework

インポート

Swift
import AIBuds

プロトコル

Swift
/// The protocol for device work mode API.
protocol DeviceWorkModeAPI: DeviceAPI {
    /// The current work mode of the device.
    var workMode: WorkMode { get }
}

プロパティ

プロパティ説明
workModeWorkMode / AIBudsWorkModeデバイスから通知された現在の動作モード。

戻り値

workMode は同期的に読み取る読み取り専用プロパティです。完了ハンドラーは使用しません。

使用例

Swift
import AIBuds

guard let device = device as? DeviceWorkModeAPI else {
    print("Device does not support work modes")
    return
}

switch device.workMode {
case .normal:
    print("Normal mode")
case .game:
    print("Game mode")
@unknown default:
    print("Unknown work mode")
}

エラー処理

非同期のエラー結果はありません。プロトコル非対応と未知の列挙値を処理してください。

ベストプラクティス

  1. プロパティを直接読み取る:動作モード取得を不要な非同期処理でラップしないでください。
  2. 未知の値を処理:前方互換性のため unknown/default 分岐を用意します。
  3. デバイスの更新を監視:SDK がデバイスデリゲートから動作モード変更を通知したときに UI を更新します。

注意事項

  • 公開 SDK では、現在 normalgame の動作モードが定義されています。
  • モード変更には setWorkMode(_:completion:) を使用します。この読み取り専用プロパティとは別の操作です。