[swift] NotificationBanner 알림창 메시지 음성 인식 테스트

앱 개발 중에 알림창을 사용하여 사용자에게 메시지를 전달하는 경우, 시각적인 방법 외에도 음성으로 메시지를 전달하는 것이 유용할 수 있습니다. 이를 위해 iOS의 Speech Framework를 사용하여 NotificationBanner의 메시지를 음성으로 읽어주는 기능을 구현해보겠습니다.

Speech Framework

Speech Framework는 iOS 10 이상에서 제공되는 기능으로, 음성 인식 및 음성 합성 기능을 제공합니다. 이를 사용하여 앱에서 문자열을 음성으로 읽어주는 기능을 만들 수 있습니다.

NotificationBanner 활용

NotificationBanner는 iOS에서 알림창을 구현할 수 있는 라이브러리입니다. 이 라이브러리를 사용하여 알림창을 표시하고, 음성으로 메시지를 읽어주는 기능을 추가하겠습니다.

import NotificationBanner
import AVFoundation

func showNotificationBannerWithSpeech(message: String) {
    // NotificationBanner 생성
    let banner = NotificationBanner(title: "알림", subtitle: message, style: .info)
    
    // AVSpeechSynthesizer 생성
    let synthesizer = AVSpeechSynthesizer()
    
    // AVSpeechSynthesisVoice 선택 (옵션)
    let voice = AVSpeechSynthesisVoice(language: "ko-KR")
    synthesizer.voice = voice
    
    // AVSpeechUtterance 생성
    let utterance = AVSpeechUtterance(string: message)
    
    // 메시지를 음성으로 읽어주는 함수
    func speak() {
        synthesizer.speak(utterance)
    }
    
    // NotificationBanner 표시 후 음성으로 읽어주기
    banner.show(completion: speak)
}

이제 showNotificationBannerWithSpeech 함수를 사용하여 알림창을 표시하고 메시지를 음성으로 읽어주도록 할 수 있습니다.

showNotificationBannerWithSpeech(message: "안녕하세요. 새로운 메시지가 도착했습니다.")

위의 코드를 실행하면 NotificationBanner로 알림창이 표시되고, 동시에 메시지가 음성으로 읽어집니다.

결론

이번에는 NotificationBanner와 Speech Framework를 활용하여 알림창의 메시지를 음성으로 읽어주는 기능을 구현해보았습니다. 사용자에게 시각적인 알림 외에도 음성으로 메시지를 전달해주는 기능은 더 나은 사용자 경험을 제공할 수 있습니다. 이와 같은 기능을 활용하여 앱을 개선해보세요!

참고 자료