1

のコントロールセンターをセットアップしましたAVAudioPlayer。コントロールセンターのプログレスバーを除いて、すべてがうまく機能します.これAVAudioPlayerは、一時停止するたびにカウントアップを続けます. どうすればこれを修正できますか? これが私がこれまでに持っているものです:

    func updateNowPlayingCenter (title: String, artist: String, currentTime: AnyObject, songLength: AnyObject, PlaybackRate: Double){

            let image:UIImage = UIImage(named: title)!
            let artwork = MPMediaItemArtwork.init(boundsSize: image.size, requestHandler: { (size) -> UIImage in
                return image
            })


            var songInfo: Dictionary <NSObject, AnyObject> = [

                MPMediaItemPropertyTitle as NSObject: title as AnyObject,

                MPMediaItemPropertyArtist as NSObject: artist as AnyObject,

                MPMediaItemPropertyArtwork as NSObject: artwork,

                MPNowPlayingInfoPropertyElapsedPlaybackTime as NSObject: currentTime,

                MPMediaItemPropertyPlaybackDuration as NSObject: songLength,

                MPNowPlayingInfoPropertyPlaybackRate as NSObject: PlaybackRate as AnyObject



            ]


            MPNowPlayingInfoCenter.default().nowPlayingInfo = songInfo as [NSObject : AnyObject] as! [String : Any]

        }

override func remoteControlReceived(with event: UIEvent?) {
        if event?.type == UIEventType.remoteControl {
            if event?.subtype == UIEventSubtype.remoteControlPlay {
                audioPlayer.play()
            } else if event?.subtype == UIEventSubtype.remoteControlPause {
                audioPlayer.pause
            } else if event?.subtype == UIEventSubtype.remoteControlNextTrack {
                nextButtonTapped()
            } else if event?.subtype == UIEventSubtype.remoteControlPreviousTrack {
                previousButtonTapped()
            }
        }
    }

およびviewDidLoadで:

updateNowPlayingCenter(title: titleText[thisSong], artist: authorText[thisSong], currentTime: audioPlayer.currentTime as AnyObject, songLength: audioPlayer.duration as AnyObject, PlaybackRate: 1.0)

Swift 3 と Xcode 8 を使用しています。

4

0 に答える 0