问题标签 [mpremotecommandcenter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
116 浏览

ios - 更改控制中心的可访问性标签(远程命令中心)

我有一个播放广播电台的简单应用程序。我添加了一个 MPRemoteCommandCenter 让用户通过控制中心控制音频。这一切都很好。

但是,我想更改他们的可访问性标签。但这是事情没有按预期工作的部分。

我已按如下方式设置了我的 remoteCommandCenter:

然后,我添加了控件和处理程序:

然后,我想添加一些可访问性标签:

这是行不通的。如果我调试代码,编译器将执行该行。我做错了什么?您甚至可以更改 remoteCommandCenter 的可访问性标签吗?

0 投票
1 回答
2293 浏览

swift - MPRemoteCommandCenter 不会出现在 iOS13 上

我有一个显示 .m3u8 流的视频播放器。我尝试实现远程控制,但小部件并未同时出现在锁定屏幕、通知中心和命令中心中。

我只需要播放暂停、音量控制和一些静态信息作为标题、艺术家和艺术品。

这是我的代码:

AppDelegate.swift

ViewController.swift

希望信息足够。谢谢

0 投票
1 回答
689 浏览

ios - AVPlayer 播放完歌曲后,如何隐藏 Remote Command Center?

我有一个使用 AVPlayer 播放 mp3 的应用程序,当曲目完成时,我正在努力隐藏远程命令中心。这是设置我的远程命令中心的功能。

我该如何隐藏它?

func setupRemoteCommandCenter() {

0 投票
2 回答
2633 浏览

ios - iOS 媒体播放控件通知

我是 iOS 新手,正在使用 Flutter 开发跨平台应用程序。我正在尝试从网络 URL 播放音频,我发现它可以使用AVPlayer. 当应用程序在前台和后台时播放音频,但我可以像这样显示媒体播放控件:在此处输入图像描述.

我使用let mediaController = MPMusicPlayerController.applicationMusicPlayer然后调用self.mediaController.beginGeneratingPlaybackNotifications(),还提供播放信息并在方法MPNowPlayingInfoCenter.default().nowPlayingInfo = mediaInfo中为远程指挥中心设置目标。self.registerCommands()

我做了很多研究,但没有找到问题的运气,正如我之前所说,我是 ios 新手。

应用委托

音频播放器类

0 投票
1 回答
571 浏览

ios - 使用 iOS 锁定屏幕上的播放器控件进行远程控制应用程序

我正在尝试在 iOS 锁定屏幕上为我的远程控制应用程序实现播放器控件,该应用程序控制 PC 上的音乐播放器。所以基本上我需要控制 iOS 设备之外的播放。我在功能(音频)中启用了背景模式并尝试设置 MPRemoteCommandCenter 锁定屏幕控件,但未显示它们。这是代码:

甚至可以做我想做的事吗?我做错了什么?

0 投票
1 回答
1863 浏览

avplayer - iOS 13+ 应用程序的 AVAudioPlayer AVPlayer AVQueuePlayer MPMusicPlayerController MPRemoteCommandCenter MPNowPlayingInfoCenter 之间的区别

关于这个主题的所有线程都非常老(5+ yo),我似乎无法形成一个清晰的现代方法,所以希望这可以在 2020 年进行总结(Swift 5,Xcode 11)。

如果您要以具有前瞻性的方式为带有iOS 13的 iPhone 构建 AUDIO(不仅仅是音乐)播放器应用程序(不要关心任何不支持 iOS 14 的东西 - 所以任何低于 8 的东西),什么工具包/如果要求是您会使用的类...

  • 应用程序可以在本地存储和播放下载的 MP3 文件(不一定是流式传输或嵌入式)。
  • 用户对音频有基本的播放器控制(播放/暂停/擦洗/音量)。
  • 应用程序有一个音频队列(曲目播放顺序),可以随时通过应用程序或本机 iOS 控件进行调整。
  • 用户可以遍历(向后/向前搜索)队列。
  • 用户可以选择在手机配对的蓝牙音频设备上播放。
  • 音频可以在后台播放(当屏幕关闭时,或在另一个应用程序中)。
  • 该应用程序可以在后台触发跟踪和调整队列(无需用户交互)。
  • 音频与原生 iOS 控件 (RemoteControlEvents) 集成。
  • 根据 Apple 的指南,该应用程序是“现在可播放的应用程序”。

奖金(如果可能的话):

  • 应用程序音频可以像方向应用程序那样覆盖播放音乐(我意识到这可能会否定背景和“正在播放”功能,但也许它有助于讨论更清晰地推理为应用程序开发人员选择方法)。

那么你会使用 AVAudioPlayer 或 AVPlayer 或 MPMusicPlayerController 吗?MPRemoteCommandCenter 还是 MPNowPlayingInfoCenter?

也许有些要求是相互排斥的,甚至是不可能的,但我不明白为什么有这么多控制音频播放的方法,在它们的用例之间没有明确的界限,或者为什么音频是音乐还是语音很重要,下载或流式传输。音频在 Apple 显然是视频的二等公民,尤其是语音,但我认为现在应该在某些类型的基本应用程序(如播放列表、播客和其他类型的音频应用程序)上有一些方向。

0 投票
1 回答
300 浏览

xcode - MacOS 在后台没有响应 MPRemoteCommandCenter 命令

我正在为自己的目的编写一个应用程序,旨在无论系统中发生什么事情都可以获取播放暂停事件。我已经做了这么多工作

大多数这些方法都在那里,因为显然如果没有实现 nextTrackCommand 或 previousTrackCommand 或 playCommand ,您将不会收到任何通知。

无论如何,我的一个问题是,一旦您打开另一个使用音频的应用程序,这些事件处理程序就会停止被调用,我无法找到检测和解决此问题的方法。

我通常会尝试做 AVAudioSession 事情以将其声明为后台应用程序,但这似乎不起作用。无论系统处于什么状态,关于如何获得播放暂停事件的任何想法?

我希望能够始终收听这些事件或获得其他人何时控制音频的指示?也许甚至可以重新订阅这些播放暂停事件。

0 投票
0 回答
224 浏览

ios - 尝试快速制作 MPRemoteCommand

大家好,我正在尝试快速制作 MPRemoteCommandCenter,它工作正常,但如果我从应用程序播放 AVPlayer,MPRemoteCommand 播放按钮不会改变,图片会告诉你我的意思,非常抱歉拼写错误,因为英语不是我的第一语言。

MPRemoteCommand 屏幕

应用程序屏幕

这是我的代码

func setupNowPlaying(播放器:AVPlayer?,文章:文章){

}

func setupRemoteTransportControls() {

}

}

协议 NotificationPlayerDelegate{

}

0 投票
0 回答
372 浏览

swift - 更改音频会话类别后 MPRemoteCommandCenter 不可用

我的应用程序可以选择允许其声音与其他应用程序混合。根据 Apple 的说法,MPRemoteCommandCenter 仅在应用程序不允许混合时可用。

在我的应用程序中,当用户点击按钮更改 mixWithOthers 设置时,音频会话会相应设置。

但是,即使用户切换回不允许再混合,MPRemoteCommandCenter 也不会显示在锁定屏幕中,直到应用程序从缓存中删除(向上滑动)并重新启动。

有没有办法实现所需的行为而无需重新启动应用程序?

0 投票
1 回答
387 浏览

ios - MPRemoteCommandCenter 未在锁定屏幕中显示

可能这是一个重复的问题,但没有一个解决方案对我有用。我已经尝试了几乎所有东西。

正在播放的信息不会在锁定屏幕中更新。

Swift 版本:5 & iOS 版本:13

这是我的代码

一种方法是从 viewDidLoad 中调用,即

另一个是从 playbuttonAction 方法调用的,即

我的 Appdelegate 在这里

调用updateLockScreen()之前调用playMusic()也没有结果。我在这里想念什么吗?