[swift] Swift에서 비디오 재생 시 오디오 출력 장치 선택하기

iOS 애플리케이션을 개발할 때, 사용자가 비디오를 시청할 때 기본 오디오 출력 장치를 변경할 수 있는 기능을 추가하고 싶을 때가 있습니다.

이를 위해 AVFoundation 프레임워크를 사용하여 비디오 재생 시 기본 오디오 출력 장치를 선택하는 방법을 알아보겠습니다.

AVFoundation 프레임워크로 비디오 재생하기

AVFoundation 프레임워크를 사용하여 비디오를 재생하는 방법은 다양합니다. 먼저 AVPlayer를 사용하여 비디오를 로드하고 재생하는 방법을 알아보겠습니다.

import AVKit
import AVFoundation
import UIKit

class VideoPlayerViewController: UIViewController {

    var player: AVPlayer!

    override func viewDidLoad() {
        super.viewDidLoad()

        let videoURL = URL(string: "https://www.example.com/video.mp4")
        player = AVPlayer(url: videoURL!)
        let playerViewController = AVPlayerViewController()
        playerViewController.player = player
        present(playerViewController, animated: true) {
            self.player.play()
        }
    }

}

위의 예제 코드는 AVPlayer를 사용하여 URL에서 비디오를 로드하고 AVPlayerViewController를 사용하여 비디오를 재생하는 방법을 보여줍니다.

오디오 출력 장치 선택하기

AVFoundation을 사용하여 오디오 출력 장치를 선택하려면 AVAudioSession을 사용해야 합니다. AVAudioSession을 사용하여 오디오 경로를 변경하고 오디오 출력 장치를 선택할 수 있습니다.

import AVFoundation

// 다음 코드는 오디오 출력 장치를 변경하는 예제입니다.
let audioSession = AVAudioSession.sharedInstance()
do {
    try audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord)
    try audioSession.setPreferredInput(audioSession.availableInputs?.last)
    try audioSession.setActive(true)
} catch {
    print("Error setting audio session: \(error)")
}

위의 코드에서, AVAudioSession.sharedInstance().setPreferredInput() 메서드를 사용하여 원하는 오디오 입력을 선택할 수 있습니다.

결론

Swift에서 AVFoundation을 사용하여 비디오를 재생하고 오디오 출력 장치를 선택하는 방법에 대해 알아보았습니다. 사용자가 기본 오디오 출력 장치를 선택할 수 있도록 하는 기능을 추가하려면 AVFoundation 및 AVAudioSession을 사용하여 오디오 경로를 변경할 수 있습니다.

이 기능을 사용하여 사용자가 자신의 기기에 연결된 다양한 오디오 장치 중 하나를 선택하여 비디오 재생을 즐길 수 있도록 애플리케이션을 개발할 수 있습니다.

더 많은 정보를 원하시면 AVFoundationAVAudioSession 공식 문서를 참고하세요.