[swift] NotificationBanner 알림창 메시지 음성 언어 설정

앱에서 NotificationBanner를 사용하여 알림창 메시지를 표시하는 경우, 메시지의 음성 언어를 설정하는 것이 중요합니다. 이 기능을 사용하면 사용자가 알림을 화면을 못 볼 때에도, 메시지가 음성으로 전달되므로 접근성을 향상시킬 수 있습니다.

iOS에서 메시지 음성 언어 설정

iOS에서 메시지 음성 언어를 설정하려면 AVSpeechSynthesizer 클래스를 사용하여 구현할 수 있습니다. 다음은 Swift를 사용한 예제 코드입니다.

import AVFoundation

func speakMessage(message: String, language: String) {
    let synthesizer = AVSpeechSynthesizer()
    let utterance = AVSpeechUtterance(string: message)
    utterance.voice = AVSpeechSynthesisVoice(language: language)
    synthesizer.speak(utterance)
}

위의 코드에서는 speakMessage 함수를 정의하여 메시지와 언어를 인자로 받습니다. AVSpeechSynthesizer 인스턴스를 생성하고, AVSpeechUtterance를 만들어 메시지를 전달합니다. 그리고 언어를 설정하기 위해 AVSpeechSynthesisVoice를 사용합니다. 마지막으로, synthesizer.speak 메서드를 호출하여 메시지를 음성으로 출력합니다.

NotificationBanner에 메시지 음성 언어 설정 적용

NotificationBanner에 메시지 음성 언어를 설정하기 위해서는, 해당 메시지가 표시될 때 호출되는 코드에서 위에서 정의한 speakMessage 함수를 사용하면 됩니다. 예를 들어, NotificationBanner를 표시하는 함수가 다음과 같다고 가정해봅시다.

func showNotification(message: String) {
    let banner = NotificationBanner(title: "알림", subtitle: message, style: .info)
    banner.show()
}

위의 함수를 다음과 같이 수정할 수 있습니다.

func showNotification(message: String, language: String) {
    let banner = NotificationBanner(title: "알림", subtitle: message, style: .info)
    banner.show()
    
    speakMessage(message: message, language: language)
}

만약 한국어로 음성 메시지를 전달하고 싶다면, showNotification 함수를 호출할 때 두 번째 인자로 “ko-KR”과 같이 한국어 언어 코드를 전달하면 됩니다.

참고 자료

##+번역