首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何清除MPMusicPlayerController的队列?

如何清除MPMusicPlayerController的队列?
EN

Stack Overflow用户
提问于 2010-06-17 14:02:52
回答 1查看 2.4K关注 0票数 4

我正在尝试复制iPod应用程序的清除队列功能,但是我不能创建用于调用setQueueWithItemCollection的空MPMediaItemCollection:

例如:

代码语言:javascript
复制
[self.musicPlayer setQueueWithItemCollection:[MPMediaItemCollection collectionWithItems:[NSArray array]]];

其中musicPlayer是一个MPMusicPlayerController。

抛出异常:

代码语言:javascript
复制
*** Terminating app due to uncaught exception 'MPMediaItemCollectionInitException', reason: 'items array must not be empty'

有没有一种方法可以清除MPMusicPLayerController队列来避免这个问题?

非常感谢你的帮助,简历

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-21 19:50:01

我不知道您是否已经克服了您的问题,但这里有一个似乎对我有效的变通方法。

代码语言:javascript
复制
MPMediaPropertyPredicate *predicate =
    [MPMediaPropertyPredicate predicateWithValue: @"Non_Existant_Song_Name"
                                     forProperty: MPMediaItemPropertyTitle];
MPMediaQuery *q = [[MPMediaQuery alloc] init];
[q addFilterPredicate: predicate];
[self.player.controller setQueueWithQuery:q];
self.player.controller.nowPlayingItem = nil;
[self.player.controller stop];

这基本上是用一个你确信永远不会出现任何歌曲的查询来设置播放队列。理想情况下,查询的执行速度非常快。然后,它使nowPlayingItem无效,然后告诉播放器停止。

希望这能有所帮助。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3059255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档