오프라인 음성 어시스턴트 지원 여부 조회
모드 선택 UI를 표시하기 전에 연결된 기기가 지원하는 음성 어시스턴트 기능을 확인하세요.
사전 요구 사항
- 기기가 연결되어 사용할 준비가 된 상태여야 합니다.
- 기기가
OnDeviceVoiceAssistantAPI를 지원해야 합니다.
API Reference
프레임워크
AIBuds.xcframework
가져오기
- Swift
- Objective-C
import AIBuds
import AIBudsFoundation#import <AIBuds/AIBuds-Swift.h>선언
- Swift
- Objective-C
/// The protocol for the on-device voice assistant API.
protocol OnDeviceVoiceAssistantAPI: DeviceAPI {
/// The capability of the on-device voice assistant.
var onDeviceVoiceAssistantCapability: OnDeviceVoiceAssistantCapability { get }
}/// The protocol for the on-device voice assistant API.
@protocol AIBudsOnDeviceVoiceAssistantAPI <AIBudsDeviceAPI>
/// The capability of the on-device voice assistant.
@property(nonatomic, readonly)
AIBudsOnDeviceVoiceAssistantCapability onDeviceVoiceAssistantCapability;
@endonDeviceVoiceAssistantCapability 및 OnDeviceVoiceAssistantCapability를 참고하세요.
사용 예제
- Swift
- Objective-C
guard let voiceAssistant = device as? OnDeviceVoiceAssistantAPI else {
supportLabel.text = "Not supported"
return
}
switch voiceAssistant.onDeviceVoiceAssistantCapability {
case .none:
supportLabel.text = "No voice-command capability"
case .keywordWakeup:
supportLabel.text = "Keyword wake-up"
case .common:
supportLabel.text = "Common voice commands"
}id<AIBudsOnDeviceVoiceAssistantAPI> voiceAssistant =
(id<AIBudsOnDeviceVoiceAssistantAPI>)self.device;
if (![voiceAssistant conformsToProtocol:@protocol(AIBudsOnDeviceVoiceAssistantAPI)]) {
self.supportLabel.text = @"Not supported";
return;
}
switch (voiceAssistant.onDeviceVoiceAssistantCapability) {
case AIBudsOnDeviceVoiceAssistantCapabilityNone:
self.supportLabel.text = @"No voice-command capability";
break;
case AIBudsOnDeviceVoiceAssistantCapabilityKeywordWakeup:
self.supportLabel.text = @"Keyword wake-up";
break;
case AIBudsOnDeviceVoiceAssistantCapabilityCommon:
self.supportLabel.text = @"Common voice commands";
break;
}참고
- 프로토콜 지원 여부와 기능 지원 여부는 별도로 확인해야 합니다. 프로토콜을 지원하는 기기도
.none을 반환할 수 있습니다. - 지원 기능은 비동기 조회 결과가 아니라 속성으로 제공됩니다.
- 기기의 지원 기능에 따라 UI에 표시할 모드를 제한하세요.