AVPlayer状态?
Posted
技术标签:
【中文标题】AVPlayer状态?【英文标题】:AVPlayerStatus? 【发布时间】:2011-03-25 15:32:45 【问题描述】:所以我在阅读应该如何使用 AVPlayerStatus
属性时遇到问题
正如文档告诉我的那样,我已经制作了@property(nonatomic, readonly) AVPlayerStatus *status;
,但似乎无法找出我是如何使用的
AVPlayerStatusUnknows
..
我想用它来做这样的事情
while(AVPlayerStatusUnknows)
//DO SOMETHING
有人可以帮我吗?
谢谢
【问题讨论】:
【参考方案1】:@Patrick 您不能使用 AVPlayerStatus
对象,因为它不是类或结构(或联合)。它是一个枚举器。我们用它来检查主要在 switch 中的条件(如果我们正在创建它)。 @Amorya建议的上述方法是如何使用AVPlayerStatus
。
希望这对你有意义。
检查文档。
http://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVPlayer_Class/Reference/Reference.html
编辑:
您正在寻找的是这样的东西。我认为这行不通或可能。但你会得到基本的想法。
[yourActivityIndicator startAnimation];
while(yourAVPlayer.status == AVPlayerStatusUnknown)
[yourActivityIndicator stopAnimation];
或者,如果您只是使用 GCD 调用自定义队列中的最后 2 行,它会显示您要查找的内容。
类似这样的东西,(不确定这是否是确切的语法)
[yourActivityIndicator startAnimation];
dispatch_queue(^
while(yourAVPlayer.status == AVPlayerStatusUnknown)
[yourActivityIndicator stopAnimation];
);
【讨论】:
对不起,但我确实阅读了文档,它对我没有多大意义.. 我只想在我的 avplayer 流式传输时显示一个活动指示器.. 不是在播放音乐时,而是在播放音乐时..如果这不是这样做的方法,那我该怎么做呢? :/ 并感谢您的回答 :) 所以我只是尝试了你的和@Amorya 的解决方案,仍然有一些问题:/ 当我使用 dispatch_queue 时它给了我一个错误.. 并且使用 player.status == avplayerstatusunknow,它冻结了..我的 TableView 中有我的播放器,所以当我按下一个单元格时,它会开始播放链接.. 希望你能看到我想用我的代码做什么:pastebin.com/9J6uMN6N 您是否检查过如何使用 GCD。我告诉过你,在第一种情况下屏幕会冻结。所以尝试使用 Grand Central Dispatch 找到这个网站:cocoasamurai.blogspot.com/2009/09/… 可以吗? 是的,它是一个非常好的网站。当您能够实现您想要的目标时,您可以将其附加到您的问题中。【参考方案2】:您不需要自己创建该属性:它是 AVPlayer 对象上的属性。
你应该可以做到while (yourAVPlayer.status == AVPlayerStatusUnknown)
。用 AVPlayer 类的对象替换 yourAVPlayer
。
【讨论】:
感谢您的快速回答 :) 我插入了它,但我收到了这个错误:错误:'AVPlayerStatusUnknows' undeclared(第一次在这个函数中使用) 应该是 AVPlayerStatusUnknown 而不是 AVPlayerStatusUnknows(注意最后一个字母)。 arh ya.. 让它工作,我构建时没有错误.. 但是当我在手机上尝试它时,当我按下 tableview 中的一个单元格时它会冻结.. 该功能需要在我的表格视图中,所以当我按下一个单元格时,我得到了 AVPlayer url,在它缓冲时,我需要显示指示器.. 为什么我需要这个功能,如果我可以将它用于那个目的..跨度>以上是关于AVPlayer状态?的主要内容,如果未能解决你的问题,请参考以下文章