Audioclip и scrollview

Программирование на Юнити.

Audioclip и scrollview

Сообщение bossic002 08 апр 2020, 15:06

Приветствую.
Как можно узнать через скрипт, на сколько был перемещён выше content у scrollview и примерно через эти значения каким-то образом переместить момент прослушивания аудио у Audiosource, к примеру, с 1:47 минуты до 1:43 минуты?
Если такой вариант слишком костыльный, то как другим способом можно немного перелистывать точку прослушивания назад?
Вы хотите быть лишь подобием Бога, оттого и кажется вам Дарвин нелепым?
bossic002
UNец
 
Сообщения: 10
Зарегистрирован: 13 мар 2019, 17:43

Re: Audioclip и scrollview

Сообщение 1max1 08 апр 2020, 15:20

К примеру, запись идет 5 минут. Значение скролл бара в диапазоне [0, 1]
1 секунда записи = 1 / (5 * 60) = 0.003333f
Твой скролл будет равен 0.003333f * (60 +43) = 0.343299f
GetComponent<Scrollbar>().value = 0.343299f.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Audioclip и scrollview

Сообщение bossic002 08 апр 2020, 22:42

1max1 писал(а):К примеру, запись идет 5 минут. Значение скролл бара в диапазоне [0, 1]
1 секунда записи = 1 / (5 * 60) = 0.003333f
Твой скролл будет равен 0.003333f * (60 +43) = 0.343299f
GetComponent<Scrollbar>().value = 0.343299f.

Спасибо, это подходит в некотором роде, но есть ещё кое-что, с чем я не совсем уверен, как справиться:
Есть такой скрипт
Синтаксис:
Используется csharp
 
          private void FixedUpdate()
    {
        currScroll = SB.value;


        if (currScroll > pastScroll)
        {
            VoiceSource.time -= 5f;
        }

        if (currScroll < pastScroll)
        {
            VoiceSource.time += 5f;
        }
        pastScroll = currScroll;
    }
 

Голос, скажем так, возвращается на 5 секунд назад при скролле вверх, но как сделать перемотку на 5 секунд вперёд при скролле вниз? Второе условие тупо добавляет 5 секунд в реальном времени каждый fixedDeltaTime(Или не каждый, раз он не влияет на скорость конкретно перемотки, но эти условия же находятся в FixedUpdate()).
Прошу подсказки
Вы хотите быть лишь подобием Бога, оттого и кажется вам Дарвин нелепым?
bossic002
UNец
 
Сообщения: 10
Зарегистрирован: 13 мар 2019, 17:43

Re: Audioclip и scrollview

Сообщение 1max1 09 апр 2020, 08:04

Скоролл колесиком что-ли или что?

Синтаксис:
Используется csharp
    void Update()
    {
        float scroll = Input.mouseScrollDelta.y;

        if (scroll != 0.0f)
        {
            VoiceSource.time += Mathf.Sign(scroll) * 5.0f;
        }
    }
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Audioclip и scrollview

Сообщение bossic002 09 апр 2020, 08:44

1max1 писал(а):Скоролл колесиком что-ли или что?

Синтаксис:
Используется csharp
    void Update()
    {
        float scroll = Input.mouseScrollDelta.y;

        if (scroll != 0.0f)
        {
            VoiceSource.time += Mathf.Sign(scroll) * 5.0f;
        }
    }


Прошу прощения, что сразу не сказал. У меня есть постепенный автоматический скролл через скрипт, изменяется ScrollBar.value - уменьшается, content постепенно поднимается вверх. Я делаю приложение для мобильных устройств, поэтому мне нужны именно свайпы выше-ниже. Один работает исправно, выше я сказал, какой. Как заставить работать и второй?
Вы хотите быть лишь подобием Бога, оттого и кажется вам Дарвин нелепым?
bossic002
UNец
 
Сообщения: 10
Зарегистрирован: 13 мар 2019, 17:43


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4