问题标签 [mpmediaplayercontroller]

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 投票
0 回答
127 浏览

ios - 在 iOS 中播放视频时获取缓冲时间

当我们通过 MPMoviePlayerViewController 播放在线视频时,在所有情况下都会有一些缓冲时间。有什么方法可以捕获缓冲时间。我的看法是应该有一些回调方法在启动和停止缓冲时被调用,但我在文档中没有找到任何方法。

任何帮助将不胜感激。

0 投票
1 回答
478 浏览

ios - 隐藏 MPRemoteCommand 向前搜索和向后搜索

我正在为我的学校开发一个简单的广播应用程序,因为它是一个流,我认为我们不需要 seekforward 和 seekrewind。我看到您可以更改这些按钮的含义,但我无法将其从命令中心/锁定屏幕中完全删除。这是可能的还是我被非工作、无用的按钮困住了?

0 投票
1 回答
388 浏览

ios - iOS Admob 广告开始播放锁屏按钮 - BUG?

我有一个音乐流媒体应用程序,我在其中使用锁定屏幕控件来播放/暂停/下一首歌曲。

我的应用中有 Admob 插页式广告。

但是,当我使用锁屏控件时,它也会传递给视频广告,因此视频广告开始与我的应用程序的音乐一起播放。有什么办法可以防止这种情况发生吗?

这是我处理锁定屏幕控件的方式。我不与任何代码中的广告进行交互,但控件仍然传递给 admob 的视频播放器:

0 投票
2 回答
958 浏览

ios - 如何使用 systemMusicPlayer 获取当前播放项目的播放列表?

我目前正在构建一个音乐应用程序,我想获取当前播放项目的播放列表(在 Apple Music 中)。

我并不是说我想使用 MPMediaPickerController,因为我只想获取当前播放列表的媒体项。

非常感谢您的帮助!

0 投票
2 回答
164 浏览

ios - MPMusicPlayerControllerPlaybackStateDidChangeNotification 确定歌曲是否已结束

使用通知中心时,如何判断歌曲已结束?

0 投票
1 回答
560 浏览

ios - MPMusicPlayerControllerNowPlayingItemDidChange 在后台

有没有办法MPMusicPlayerControllerNowPlayingItemDidChange在应用程序处于后台时获取通知?

我有一个应用程序,一旦歌曲在后台或屏幕锁定时结束,我需要能够暂停音乐。我正在使用systemMusicPlayer播放音乐。

我已经尝试添加音频背景功能并beginBackgroundTask在我的中包含一个呼叫,applicationDidEnterBackground但这在很长一段时间内都不起作用。

0 投票
1 回答
265 浏览

swift3 - 带有 MPMediaPlayer 和 Podcast 的 MPMediaItemPropertyTitle 导致致命错误

我的 MPMediaplayer 在音乐方面运行良好,但当我开始使用 Podcast 时,情况就不同了。

我试图得到两件事:1)播客标题(“美国生活”)的名称2)剧集标题(“我的假期”)

这行代码可以很好地获取 Podcast 标题:

然而,这一行应该得到剧集标题:

但会导致崩溃并出现此错误:

致命错误:在展开可选值时意外发现 nil

如何获取给定播客的剧集标题?

0 投票
3 回答
50360 浏览

ios - 退出应用程序会导致错误“来自调试器的消息:由于信号 9 而终止”

我正在编写一个基本的音乐播放器应用程序,但在处理应用程序状态转换时遇到了一些问题。

我正在使用 Swift 3 和 MPMusicPlayerController.systemMusicPlayer()

目标是这样的:

1)当用户点击主页按钮并且应用程序进入bg时保持音乐播放(有效)

2)如果用户退出应用程序,则停止播放器( myMP.stop() )(有时有效,其他时候抛出错误)

我根据可能的操作使用打印语句跟踪流程并得到以下信息:

在此处输入图像描述

流程 2 是我所期望的,但流程 1 在应用程序关闭时会引发错误 - 我希望在这里“将终止”。

编辑:主要问题是当使用 Flow 1 退出应用程序时,永远不会调用“将终止” - 因此永远不会调用“myMP.stop()”,并且播放器在应用程序退出后继续播放。

如果您在应用程序处于活动状态时单击主页一次(流程 1)或两次(流程 2),行为会有明显差异。

为什么我会从应该是相同的操作中得到两个不同的响应?

编辑:最重要的是,如果 Flow 1 的 MediaPlayer 永远不会“将终止”,我该如何停止它?

编辑:

这是一些复制问题的示例代码:

AppDelegate.swift

ViewController.swift

在此处下载项目:www.NextCoInc.com/public/junkplayer.zip

0 投票
1 回答
44 浏览

ios - 如何从我之前停止的地方播放视频。从远程服务器 url

我正在从远程 url 播放视频。假设停止播放视频,然后我再次尝试播放相同的视频。现在,我必须从我之前停止的地方玩。像 VLC 播放器

0 投票
1 回答
149 浏览

sorting - 如何将 ReversedRandomAccessCollection 转换为常规集合

我一直在尝试找到一种方法来对生成的 MPMediaQuery 进行排序,以便按日期对结果进行排序。我遇到了很多困难,然后我找到了“reversed()”方法,但是我无法将返回的数据转换为可以与 MPMediaPlayer 一起使用的格式。

我原来的查询:

所以我尝试了这个:

这给了我这个错误: "Cannot convert value of type 'ReversedRandomAccessCollection<[MPMediaItem]>' (aka 'ReversedRandomAccessCollection<Array<MPMediaItem>>') to expected argument type '[MPMediaItem]'"

如何在 MediaPlayer 中使用“reversed()”的结果?