我有两个与我的问题有关的方法,touchesBegan和touchesEnded。我想编码所以当你触摸它(touchesBegan)声音开始(或播放)然后当你放开屏幕(touchesEnded)时,声音无效。
我已经导入了AudioToolbox,并将其声明为systemoundID和所有内容,但我不确定如何为touchesEnded使其无效,然后再次触摸屏幕时再次启动它。
现在,当我把它放在touchesBegan中时,它只播放一次。当我把它放在touchesEnded中时,它每次放开都会播放(与我想要的相反,但它并没有像我想要的那样使它失效)我只想让它只播放音频而我一接触即触摸并结束声音。
我在touchesEnded / Began中用于.m的代码是
AudioServicesPlaySystemSound(PlaySound1);
答案 0 :(得分:0)
您可以使用
AudioServicesDisposeSystemSoundID(PlaySound1);
取消正在播放的当前声音,但实际上并不鼓励。我建议使用能够在循环中播放声音以及启动和停止声音的AVPlayer。您可以查看here