Воспроизведение звука при прокрутке UIScrollView - PullRequest
1 голос
/ 21 апреля 2010

У меня есть вид прокрутки, который можно прокручивать в стороны (только влево и вправо, а не вверх и вниз). Я хочу воспроизводить короткий звук (менее секунды) всякий раз, когда представление прокрутки перемещается на X пикселей в любую сторону.

Как это можно сделать? Примеры кода будут с благодарностью ...

Спасибо

Ответы [ 2 ]

5 голосов
/ 29 апреля 2010

Вот код, который я использовал:

Я добавил файлы SoundEffect.h и SoundEffect.m в свой проект (их можно найти в Интернете). Затем я создал экземпляр звукового эффекта:

SoundEffect *soundEffect;

Затем я устанавливаю свой UIViewController как делегат моего UIScrollView, добавляя <UIScrollViewDelegate> в файл .h контроллера представления и устанавливая соответствующий выход UIScrollView.

В методе -(void)viewDidLoad я инициализировал свой звуковой эффект:

NSBundle *mainBundle = [NSBundle mainBundle];
soundEffect = [[SoundEffect alloc] initWithContentsOfFile:[mainBundle pathForResource:@"Tik" ofType:@"wav"]];

И затем я реализовал эти два метода:

#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];
    }
}

Мне нужен был звуковой эффект для запуска каждые 55 пикселей в любом направлении, но вы можете изменить его на постоянное значение, соответствующее вашим потребностям. Это прекрасно работает для меня, и, надеюсь, это поможет и другим ...

1 голос
/ 21 апреля 2010

Попробуйте назначить viewController делегатом представления прокрутки и добавьте -scrollViewWillBeginDragging: метод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...