滚动UIScrollView时播放声音

Ron*_*zen 1 iphone audio uiscrollview

我有一个滚动视图,可以滚动到两侧(只有左和右,而不是上下).每当滚动视图移动X像素到任意一侧时,我想播放一个短的声音(不到一秒钟).

如何才能做到这一点?代码示例将不胜感激......

谢谢,

Ron*_*zen 5

这是我使用的代码:

我将SoundEffect.h和SoundEffect.m文件添加到我的项目中(您可以在线找到它们).然后,我创建了一个声音效果实例:

SoundEffect *soundEffect;
Run Code Online (Sandbox Code Playgroud)

然后,我通过添加<UIScrollViewDelegate>到视图控制器的.h文件并设置UIScrollView的相关插座,将我的UIViewController设置为我的UIScrollView的委托.

-(void)viewDidLoad方法中,我初始化了我的声音效果:

NSBundle *mainBundle = [NSBundle mainBundle];
soundEffect = [[SoundEffect alloc] initWithContentsOfFile:[mainBundle pathForResource:@"Tik" ofType:@"wav"]];
Run Code Online (Sandbox Code Playgroud)

然后,我实现了这两种方法:

#pragma mark -
#pragma mark Scroll View Delegate Methods

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    lastScrollPosition = scrollView.contentOffset.x / 55;
}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{   
    if ((int)(scrollView.contentOffset.x / 55) != lastScrollPosition1)
    {
        lastScrollPosition1 = scrollView.contentOffset.x / 55;
        [soundEffect1 play];
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要将每55个像素的声音效果发射到任一方向,但您可以将其更改为适合您需要的恒定值.它对我很有用,希望它也能帮助别人......