動作状態の取得
デバイスの現在の WorkState を読み取ります。
前提条件
- デバイスが接続済みであること。
- デバイスが
DeviceWorkStateAPIに対応していること。
API Reference
フレームワーク
AIBuds.xcframework
インポート
- Swift
- Objective-C
import AIBuds#import <AIBuds/AIBuds-Swift.h>
#import <AIBuds/AIBuds.h>プロトコル
- Swift
- Objective-C
/// The protocol for device work state API.
protocol DeviceWorkStateAPI: DeviceAPI {
/// The current working state of the device.
var workState: WorkState { get }
}/// The protocol for device work state API.
@protocol AIBudsDeviceWorkStateAPI <AIBudsDeviceAPI>
/// The current working state of the device.
@property(nonatomic, readonly) enum AIBudsWorkState workState;
@endプロパティ
| プロパティ | 型 | 説明 |
|---|---|---|
workState | WorkState / AIBudsWorkState | デバイスから通知された現在の動作状態。 |
戻り値
workState は同期的に読み取る読み取り専用プロパティです。複数の情報を含む状態モデルは返しません。
使用例
- Swift
- Objective-C
import AIBuds
guard let device = device as? DeviceWorkStateAPI else {
print("Device does not expose a work state")
return
}
let state = device.workState
print("Current work state: \(state.description)")#import <AIBuds/AIBuds-Swift.h>
#import <AIBuds/AIBuds.h>
id<AIBudsDeviceWorkStateAPI> device = (id<AIBudsDeviceWorkStateAPI>)self.device;
if (![device conformsToProtocol:@protocol(AIBudsDeviceWorkStateAPI)]) {
NSLog(@"Device does not expose a work state");
return;
}
NSLog(@"Current work state raw value: %ld", (long)device.workState);エラー処理
完了ハンドラーやエラー結果はありません。プロトコル非対応と、unknown または reserved の列挙値を処理してください。
ベストプラクティス
- プロパティを直接読み取る:この API を非同期の状態要求として実装しないでください。
- 状態は一時的な値として扱う:現在のデバイス動作を表示するたびに再取得します。
- すべての列挙値を処理:動作状態には接続、通話、再生、撮影/録音、転送、ストリーミング、OTA、シャットダウン、テストが含まれます。
注意事項
WorkStateは単一の列挙値です。バッテリー、充電、装着、再生のフィールドは含みません。- SDK には
WorkStatusという結果モデルやgetWorkStatusメソッドは定義されていません。