【问题标题】:Swift. Receive remote control events to work with MPNowPLayingInfoCenter迅速。接收远程控制事件以使用 MPNowPLayingInfoCenter
【发布时间】:2015-01-27 14:44:55
【问题描述】:

据我了解,为了在锁定屏幕上显示音乐播放器,编写以下代码是不够的。

override func viewDidAppear(animated: Bool) {    
var mpic = MPNowPlayingInfoCenter.defaultCenter()
    mpic.nowPlayingInfo = [
        MPMediaItemPropertyTitle:"This Is a Test",
        MPMediaItemPropertyArtist:"Matt Neuburg"
    ]
}

我的应用也应该能够接收remote control events

那么,如何在 Swift 中做到这一点?

我从Apple Documentation 找到了这个,但它是针对 Objective-C 的。

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];

    // Turn on remote control event delivery
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

    // Set itself as the first responder
    [self becomeFirstResponder];
}


- (void)viewWillDisappear:(BOOL)animated {

    // Turn off remote control event delivery
    [[UIApplication sharedApplication] endReceivingRemoteControlEvents];

    // Resign as first responder
    [self resignFirstResponder];

    [super viewWillDisappear:animated];
}

- (void)remoteControlReceivedWithEvent:(UIEvent *)receivedEvent {

    if (receivedEvent.type == UIEventTypeRemoteControl) {

        switch (receivedEvent.subtype) {

            case UIEventSubtypeRemoteControlTogglePlayPause:
                [self playOrStop: nil];
                break;

            case UIEventSubtypeRemoteControlPreviousTrack:
                [self previousTrack: nil];
                break;

            case UIEventSubtypeRemoteControlNextTrack:
                [self nextTrack: nil];
                break;

            default:
                break;
        }
    }
}

【问题讨论】:

    标签: ios swift remote-control mpnowplayinginfocenter


    【解决方案1】:

    【讨论】:

    • 事件处理代码在ViewController.swift中
    猜你喜欢
    • 1970-01-01
    • 2016-03-01
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-25
    相关资源
    最近更新 更多