MPMusicPlayerController 知道上一首和下一首歌曲
MPMusicPlayerController
为我提供了属性 nowPlayingItem
,但我也对上一首和下一首歌曲感兴趣。
有什么方法可以检索带有下一个和上一个元素的 MPMediaItem
吗?
MPMusicPlayerController
gives me the property nowPlayingItem
, but i'm also interestend in the previous e next song.
Is there any way to retrive a MPMediaItem
with the next and previous elements?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您如何设置 MPMusicPlayerController 的播放队列?您可能正在使用 MPMediaQuery 来查找 MPMediaItemCollection,然后将其设置为 MPMusicPlayerController 的队列。
如果是这种情况,您可以在 iOS 5+ 中获取 MPMusicPlayerController 的 indexOfNowPlayingItem 属性,加或减 1,然后从找到的 MPMediaItemCollection 的 items 属性中选择一个 MPMediaItem。 (在 iOS < 5 中,您可以获取 items 数组中 nowPlayingItem 的索引,并使用它来代替 indexOfNowPlayingItem。)
重点是您无法访问玩家队列中的项目,但如果您保留您最初分配给队列的项目,您可以访问该集合中的项目。
How are you setting the playback queue for your MPMusicPlayerController? You might be using an MPMediaQuery to find an MPMediaItemCollection, which you then set as the MPMusicPlayerController's queue.
If that's the case, you can take the MPMusicPlayerController's indexOfNowPlayingItem property in iOS 5+, add or subtract one, and select an MPMediaItem out of the items property of the MPMediaItemCollection that you found. (In iOS < 5, you can get the index of nowPlayingItem in the items array and use that in place of indexOfNowPlayingItem.)
The point is that you can't access the items in a player's queue, but if you keep the collection of items that you originally assigned to the queue, you can access the items in that collection.
您可以通过以下方式播放下一首和上一首歌曲:
可运行 100% 经过测试的代码。
You can play next and Previous songs in this way:
Works 100% tested Code.