[问题] 关于AVAudioPlayer停止播放

楼主: ciafbi007 (春困夏乏秋盹冬眠)   2014-11-21 17:13:30
各位板友好,在下开始接触objective-c没多久,请多指教。
在下想要用晃动改变声音,但发觉上一个声音在晃动后关不掉,
if ( [accelerometer[0]floatValue]<-1.0
&& [accelerometer[1]floatValue]<1.0)
{NSURL *fileURL=[[NSBundle mainBundle]
URLForResource:@"showregun.wav" withExtension:nil];
playsound=[[AVAudioPlayer alloc]
initWithContentsOfURL:fileURL error:nil];
playsound.numberOfLoops=-1;
[playsound play];
}else if([accelerometer[0]floatValue]>2.0
&& [accelerometer[1]floatValue]>1.0)
{[playsound stop];
NSURL *fileURL=[[NSBundle mainBundle]
URLForResource:@"GUNSHOW.wav" withExtension:nil];
playsound=[[AVAudioPlayer alloc]
initWithContentsOfURL:fileURL error:nil];
playsound.numberOfLoops=0;
[playsound play];
}
第一个声音为循环播放,希望晃动后播第二个声音时能关掉第一个声音,
恳请板友指教,谢谢。
作者: darktt (小朱)   2014-11-21 17:54:00
你看一下第二次的 [playsound stop]; playsound是不是nil在arc的状态下这个是会发生的
楼主: ciafbi007 (春困夏乏秋盹冬眠)   2014-11-21 18:24:00
果然显示nill (囧) 有没有改善方法?把[playsound stop]改成[playsound pause]好像就可以抱歉 问题没解决 有时候音效会重复到 就没用了orz除了AVFoundation我另外调了AudioToolbox来处理另一个音效档 写法满奇怪就是 暂时解决了问题...

Links booklink

Contact Us: admin [ a t ] ucptt.com