访问属性时,iOS AVPlayer EXC_BAD_ACCESS

时间:2013-09-26 14:39:05

标签: ios objective-c cordova avplayer

我正在开发一个Apache Cordova插件,它允许通过Media API从远程URL传输音频。

我遇到的问题是,每当我尝试访问EXC_BAD_ACCESS实例上的某些属性时,我都会收到AVPlayer信号。 currentTimeisPlaying是最严重的违规者。播放器将通过扬声器播放声音,但只要我的代码到达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实际流媒体概念的证明。

原始代码可在此处找到:https://github.com/apache/cordova-plugin-media/tree/master/src/ios

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

CDVSound.h

CDVSound.m

方法startPlayingAudio将在第346行触发exc_bad_access。删除第346行将导致音频播放,但是当getCurrentPositionAudioplayer.currentItem.currentTime行时,它会在以后的路上导致错误访问532被称为。

编辑/解决方案

事实证明,处理此问题的最佳方法是使用AVPlayerItem,然后使用AVPlayer访问它。那么真正的问题就是,为什么{{1}}没有记录这种行为,为什么它会像这样?

0 个答案:

没有答案