hal*_*d17 5 ios avplayer avplayerviewcontroller mpremotecommandcenter
我有一个带有两个独立播放器的视图控制器,一个带有 AVAudioPlayer 的音频播放器和一个带有 AVPlayerViewController 的视频播放器。
当视图加载时,两个播放器也用它们的源进行初始化,但保持暂停,直到用户与其中一个进行交互。

我试图让这个应用程序能够在后台播放来自 AVAudioPlayer 的音频,所以我在应用程序的功能中设置了该选项并且它正在工作,但我有一些主要问题。
第一个问题是设置引起的
AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback, mode: .default)
Run Code Online (Sandbox Code Playgroud)
这是背景音频所必需的,但它使视频也可以在后台播放,这不是我想要的。有什么办法可以防止这种情况发生吗?
然后,我使用 MPRemoteCommandCenter 为 Lockscreen 和 Control Center 设置控件,指定音频播放器在用户与控件交互时应启动或暂停。如果我只使用音频而不启动播放器并在控制中心、锁屏和应用内播放器之间移动,一切正常。
但是,如果我开始使用 AVPlayerViewController 播放视频,暂停它,启动音频播放器并转到锁定屏幕,即使视频甚至没有播放,命令也会连接到视频。
在为控件运行的代码中没有提到视频播放器(我也尝试完全删除代码,但没有成功)。
这是预期的行为吗?有什么方法可以禁用它吗?
TL;DR
我有一个音频和视频播放器,并且只希望音频播放器能够在后台播放,但出于某种原因,来自 MPRemoteCommandCenter 的控件优先考虑视频播放器,我想更改/禁用此行为。
好吧,对于任何试图解决这个问题的人,经过一番摆弄之后,我发现 AVPlayerController 有一个updatesNowPlayingInfoCenter默认设置为true的属性。
将其设置为false可以防止我遇到的大多数问题。
我一直遇到的一个问题是,当播放音频文件然后切换到视频时,关闭应用程序仍会显示播放器控件,其中包含来自音频和视频的混合数据。
我工作围绕这一切换AVAudioSession.sharedInstance().category从ambient以playback播放音频和切换回当ambient播放视频时。
| 归档时间: |
|
| 查看次数: |
400 次 |
| 最近记录: |