[問題] 關於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