当前位置:  开发笔记 > 编程语言 > 正文

将MPNowPlayingInfoCenter设置为播放其他背景音频

如何解决《将MPNowPlayingInfoCenter设置为播放其他背景音频》经验,为你挑选了1个好方法。

我正在尝试使用MPMoviePlayerController为Swift中的iOS应用播放视频.

我的目标是能够播放系统音乐,如苹果音乐,然后打开我的应用程序,并将音频混合,但我希望我的应用程序能够控制MPNowPlayingInfoCenter.

如何AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, withOptions: .MixWithOthers)在设置MPNowPlayingInfoCenter的同时使用?

设置MPNowPlayingInfoCenter时,Google地图会混合音频.以下是我尝试设置MPNowPlayingInfoCenter的方法:

func setMeta(){
    UIApplication.sharedApplication().beginReceivingRemoteControlEvents()
    self.becomeFirstResponder()
    if let player = PlayWorkoutViewController.player{
        let coverArt = MPMediaItemArtwork(image: UIImage(named: "AlbumArt")!)
        let dict: [String: AnyObject] = [
            MPMediaItemPropertyArtwork: coverArt,
            MPMediaItemPropertyTitle:workout.title,
            MPMediaItemPropertyArtist:"Alex",
            MPMediaItemPropertyAlbumTitle:workout.program.title,
            MPNowPlayingInfoPropertyPlaybackRate: player.currentPlaybackRate,
            MPNowPlayingInfoPropertyElapsedPlaybackTime: player.currentPlaybackTime,
            MPMediaItemPropertyPlaybackDuration: player.playableDuration
        ]
        MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo = dict
    }
}

当我不想同时使用选项(.MixWithOthers)播放外部音乐时,上述功能有效,但是当我尝试使用选项(.MixWithOthers)播放外部音乐时,信息中心不会更新.

编辑1:为了让事情变得非常清楚,我已经正常播放视频我正在尝试使用其他背景音频播放视频,同时能够设置MPNowPlayingInfoCenter.



1> Giorgio Cald..:

目前在iOS中无法实现.即使只是更改类别选项也会.MixWithOthers导致您nowPlayingInfo被忽略.

我的猜测是iOS只考虑包含非混音应用程序MPNowPlayingInfoCenter,因为如果有多个混音应用程序同时播放,那么(例如)控制中心会显示哪个应用程序会出现不确定性.

如果iOS使用尽力而为的方法来选择"正在播放的应用程序",我非常喜欢它,如下所示:

    如果有一个非混音应用播放,请选择它.其他..

    如果只有一个混音应用播放,请选择它.其他..

    如果有多个混音应用播放,只需选择一个:)或者选择无,我也没关系.

如果您也喜欢这种行为,我建议您向Apple提交一个错误.

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有