访问属性时,iOS AVPlayer EXC\u访问错误

访问属性时,iOS AVPlayer EXC\u访问错误,ios,objective-c,cordova,avplayer,Ios,Objective C,Cordova,Avplayer,我正在为ApacheCordova开发一个插件,该插件允许通过媒体API从远程URL进行音频流传输 我遇到的问题是,每当我尝试访问AVPlayer实例上的某些属性时,就会收到EXC\u BAD\u ACCESS信号currentTime和iPlaying是最严重的违规者。播放机将通过扬声器播放声音,但一旦我的代码到达player.currentTime或[player currentTime]它就会抛出错误的访问信号 [player play]; double position = round(

我正在为ApacheCordova开发一个插件,该插件允许通过媒体API从远程URL进行音频流传输

我遇到的问题是,每当我尝试访问
AVPlayer
实例上的某些属性时,就会收到
EXC\u BAD\u ACCESS
信号
currentTime
iPlaying
是最严重的违规者。播放机将通过扬声器播放声音,但一旦我的代码到达
player.currentTime
[player currentTime]
它就会抛出错误的访问信号

[player play];
double position = round([player duration] * 1000) / 1000;
[player currentTime]; //This will cause the signal
我使用的是ARC,所以我不会发布任何不应该发布的内容

编辑:

我所做的一切都是在Cordova 3 CDVSound类上进行黑客攻击,作为iOS上实际流媒体的概念证明

原始代码可在此处找到:

我的代码可以在这里找到:

方法
startPlayingAudio
将触发第346行的
exc\u bad\u访问
。删除第346行将导致音频播放,但稍后当调用第532行时,它将导致错误访问

编辑/解决方案


因此,最好的处理方法是使用AVPlayerItem,然后使用
player.currentItem.currentTime
访问它。真正的问题是,为什么没有用
AVPlayer
记录这种行为,为什么它的行为是这样的?

什么是音频文件?如果它是您的自定义类,您可以演示如何在其中创建播放机吗?audioFile是一个自定义类,但与本示例无关。
player
属性确实存在,并且正在播放声音。通过这里提供的内容,我看不出有什么问题,如果能看到更多关于如何保存该播放器的类的代码,那将有所帮助。@SkillM2我已经添加了我的所有代码、到原始代码的链接,以及对我的问题的其他解释。谢谢你看!对不起,我不在,很高兴看到你解决了。在AVPlayer类引用中,他们确实提到currentTime返回当前项的当前时间,但是他们可以更明确地说明AVPlayerItem的用法。我猜你已经改为使用initWithPlayerItem:现在。