【Swift】AudioToolbox에 대해서

소개



이번에는 녹음, 재생, 음성을 다룰 때 사용되는 프레임워크인 AudioToolbox에 대해 쓰고 싶습니다.

AVFoundation과의 차이



사운드를 재생할 때 프레임 워크로 AVFoundation이 있습니다. 이 두 가지 차이점을 간략하게 설명합니다.

AVFoundation : BGM과 같은 비디오 재생 (AVAudioPlayer)
AudioToolbox: 효과음과 같은 음원 재생

AudioToolbox



우선 문서를 읽어 보겠습니다.
AudioToolbox

문서에는 Record or play audio, convert formats, parse audio streams, and configure your audio session. 라고 쓰여져 있습니다.
번역하면 オーディオの録音または再生、フォーマットの変換、オーディオストリームの解析、およびオーディオセッションの構成 입니다.

즉, 사운드 재생이나 진동 를 사용자에게 통지하기 위한 프레임워크라고 하는 것이군요.

모처럼이므로, 간단하게 소리를 울려 놀아 봅시다.

이번 사용하는 것 이외에도 여기 에서 다양한 음원을 선택할 수 있습니다!

따라서 적절한 수만큼 버튼을 준비하십시오. (버튼 번호는 SystemSoundID로 설정했습니다)


ViewController에 다음과 같이 설명합니다.
    @IBAction func button1DidTapped(_ sender: Any) {
        sound(id: 1000)
    }

    @IBAction func button2DidTapped(_ sender: Any) {
        sound(id: 1010)
    }

    @IBAction func button3DidTapped(_ sender: Any) {
        sound(id: 1050)
    }

    @IBAction func button4DidTapped(_ sender: Any) {
        sound(id: 1201)
    }

    @IBAction func button5DidTapped(_ sender: Any) {
        sound(id: 1310)
    }

    @IBAction func button6DidTapped(_ sender: Any) {
        sound(id: 1336)
    }

    @IBAction func button7DidTapped(_ sender: Any) {
        sound(id: 4095)
    }

    private func sound(id: SystemSoundID) {
        var id = id
        if let soundUrl = CFBundleCopyResourceURL(CFBundleGetMainBundle(), nil, nil, nil) {
            AudioServicesCreateSystemSoundID(soundUrl, &id)
            AudioServicesPlaySystemSound(id)
        }
    }

다양한 음원을 울려보세요!

결론



이번에는 AudioToolbox에 대해 썼습니다. 소리를 다룰 수 있으면 개발의 폭도 퍼질 것 같네요!

좋은 웹페이지 즐겨찾기