我有这个代码:
- (void) setAudioScroll{
NSString *path = [NSString stringWithFormat"%@/%@",
[[NSBundle mainBundle] resourcePath],
@"scroll1.mp3"];
NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO];
soundScroll = [[AVAudioPlayer alloc] initWithContentsOfURL:filePath error:nil];
[soundScroll prepareToPlay];
}
- (void) scrollViewDidScrollUIScrollView *)scrollView{
[soundScroll play];
}
然后我想在 ScrollView 滚动时发出声音。但是当我滚动它时,我发现它不能正常工作,因为当它调用 mp3 声音时,它会在短时间内停止滚动。我可以使用单独的线程吗?
Best Answer-推荐答案 strong>
- (void) scrollViewDidScrollUIScrollView *)scrollView
在单次滚动中被多次调用,在很短的时间间隔内,你不想在每次发生此回调时都调用 [soundScroll play]; ,而是使用此回调
- (void)scrollViewWillBeginDraggingUIScrollView *)scrollView
以便在滚动开始时播放一次声音,或者其中任何一个
- (void)scrollViewDidEndDraggingUIScrollView *)scrollView willDecelerateBOOL)decelerate
- (void)scrollViewDidEndDeceleratingUIScrollView *)scrollView
如果您想要用户滚动后播放的声音。如果你想让一个短的声音在滚动中连续循环,你可以将 AVAudioPlayer numberOfLoops 属性设置为负值,使其无限循环,然后在滚动停止时停止。
关于IOS: ScrollView 中的声音,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/8402820/
|