Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios AVAudioPlayer在音频文件上设置预定义的停止点,无需用户输入_Ios_Objective C_Avaudioplayer - Fatal编程技术网

Ios AVAudioPlayer在音频文件上设置预定义的停止点,无需用户输入

Ios AVAudioPlayer在音频文件上设置预定义的停止点,无需用户输入,ios,objective-c,avaudioplayer,Ios,Objective C,Avaudioplayer,我一直在努力设置启动和停止音频文件的特定点。我下载了苹果的示例代码avTouchController。到目前为止,我已经成功地更改了currentTime以开始播放。我尝试了几种方法来创建stopPlayer方法。我创建了它,没有任何问题。然而,到目前为止,球员没有停止。 有什么线索吗? 这是我实现的方法 (void)stopPlaybackForPlayer:(AVAudioPlayer *)p { if (p.playing) if (p.currentTime == 6 )

我一直在努力设置启动和停止音频文件的特定点。我下载了苹果的示例代码avTouchController。到目前为止,我已经成功地更改了currentTime以开始播放。我尝试了几种方法来创建stopPlayer方法。我创建了它,没有任何问题。然而,到目前为止,球员没有停止。 有什么线索吗? 这是我实现的方法

(void)stopPlaybackForPlayer:(AVAudioPlayer *)p

{ if (p.playing)

    if (p.currentTime == 6 )
    {
        [p stop];
        [self updateViewForPlayerState:p];
    }

}

你怎么称呼这个方法?您是否在其中设置了断点以查看发生了什么

据我所知,使用
AVAudioPlayer
的唯一方法是设置一个
NSTimer
,当它触发时,它将为您调用该方法。对
currentTime
进行相等性检查可能不是一个好主意,因为它可能与您期望的时间不完全一致,并且可能会稍微小一些或大一些。如果您已经设置了一个计时器,大约是您希望它停止的时间,那么让该方法执行并无条件地停止播放器就可以了

你有没有考虑过用一种新的方法来代替?只需使用
addPeriodicTimeObserverForInterval:queue:usingBlock:
方法即可轻松实现这一点