앱 외부에서 음악이나 동영상 같은 시스템 원격 제어에 응답하는 객체

 

MPRemoteCommandCenter를 사용할 때 이 클래스는 싱글 톤 객체이기 때문에  객체를 직접 만들면 안되고 shared( ) 메서드를 사용하여 작업을 해야합니다. MPRemoteCommandCenter 클래스는 MPRemoteCommand 객체를 포함하여 다양한 원격 제어 이벤트에 응답할 수 있습니다. 이 싱글톤 객체를 구성하면 다루고 싶은 앱의 이벤트를 처리할 수 있습니다.

 

싱글 톤 객체 가져오기

class func shared() -> MPRemoteCommandCenter

: 시스템의 원격 명령 객체에 액세스하는 데 사용하는 싱글 톤 객체를 반환합니다.

재생 명령

var pauseCommand: MPRemoteCommand

: 현재 재생중인 미디어를 정지시키는 명령

var playCommand: MPRemoteCommand
: 현재 미디어를 재생시키는 명령
var stopCommand: MPRemoteCommand
: 현재 미디어를 중단시키는 명령

var togglePlayPauseCommand: MPRemoteCommand
: 현재 미디어의 재생과 정지 상태를 toggle 시키는 명령

트랙 사이를 이동하기

var nextTrackCommand: MPRemoteCommand
: 다음 트랙을 선택

var previousTrackCommand: MPRemoteCommand

: 이전 트랙을 선택

var changeRepeatModeCommand: MPChangeRepeatModeCommand
: 반복 모드 선택
var changeShuffleModeCommand: MPChangeShuffleModeCommand
: 셔플 모드 선택

 

func setupRemoteCommands() {
    let remoteCommandCenter = MPRemoteCommandCenter.shared()

    remoteCommandCenter.pauseCommand.addTarget { _ in
        self.pausePlayback()
        return .success
    }

    remoteCommandCenter.playCommand.addTarget { _ in
        self.resumePlayback()
        return .success
    }

    remoteCommandCenter.previousTrackCommand.addTarget { _ in
        self.previousPlayback()
        return .success
    }

    remoteCommandCenter.nextTrackCommand.addTarget { _ in
        self.nextPlayback()
        return .success
    }



}

func togglePlayback() {
    if isPlaying {
        pausePlayback()
    } else {
        resumePlayback()
    }
}

func pausePlayback() {
    // Pause playback logic
    isPlaying = false
    player?.pause()
}

func resumePlayback() {
    // Resume playback logic
    isPlaying = true
    player?.play()
}

func previousPlayback() {
    isPlaying = true
    playSound()
}

func nextPlayback() {
    isPlaying = true
    nextSound()
}

 

 

 

 

 

 

 

 

 

'SwiftUI' 카테고리의 다른 글

Core Bluetooth  (0) 2024.03.07
AVPlayer 음악 또는 미디어가 끝났을 때  (0) 2024.03.06
MPNowPlayingInfoCenter (잠금화면 미디어정보)  (0) 2024.03.03
SafariView 사파리뷰  (0) 2024.01.19
Web Links - 웹 링크 연동시키기  (0) 2024.01.17
ytw_developer