7

ラジオ アプリを作成したいので、Apple Radio がネイティブの音楽アプリで行うように、コントロール センターで一時停止ボタンの代わりに停止ボタンを使用したいと思います。

ここに画像の説明を入力

RadioPlayer クラスで行ったことは次のとおりです。

private var shoutcastStream = NSURL(string: "http://shoutcast.com:PORT/;stream.mp3")

var playerItem:AVPlayerItem?
var player:AVPlayer?

let commandCenter = MPRemoteCommandCenter.sharedCommandCenter()

override init() {

    super.init()

    do {

        // Allow background audio
        try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
        do {
            try AVAudioSession.sharedInstance().setActive(true)
        } catch _ as NSError {

        }

        // Disable Next, Prev and Pause
        commandCenter.pauseCommand.enabled = false
        commandCenter.nextTrackCommand.enabled = false
        commandCenter.previousTrackCommand.enabled = false

        // Enable Play
        commandCenter.playCommand.enabled = true
        commandCenter.playCommand.addTarget(self, action: #selector(RadioPlayer.play))

        // Enable Stop
        commandCenter.stopCommand.enabled = true
        commandCenter.stopCommand.addTarget(self, action: #selector(RadioPlayer.stop))

    } catch _ as NSError {

    }
}

現在は問題なく動作していますが、停止ボタンが表示されません。代わりに、一時停止ボタンがありますが、これはラジオ プレーヤーには意味がありません (笑)。

上記の場合、コントロール センターに一時停止ボタンが表示されていても、一時停止ボタンを押しても何も起こらないことに注意してくださいstopCommand

問題は、停止ボタンをどのように使用するかです。ありがとうございました。

4

2 に答える 2