OGeek|极客世界-中国程序员成长平台

标题: IOS: ScrollView 中的声音 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 20:40
标题: IOS: ScrollView 中的声音

我有这个代码:

- (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-推荐答案


- (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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4