Страница 1 из 1

Audioclip и scrollview

СообщениеДобавлено: 08 апр 2020, 15:06
bossic002
Приветствую.
Как можно узнать через скрипт, на сколько был перемещён выше content у scrollview и примерно через эти значения каким-то образом переместить момент прослушивания аудио у Audiosource, к примеру, с 1:47 минуты до 1:43 минуты?
Если такой вариант слишком костыльный, то как другим способом можно немного перелистывать точку прослушивания назад?

Re: Audioclip и scrollview

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

Re: Audioclip и scrollview

СообщениеДобавлено: 08 апр 2020, 22:42
bossic002
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()).
Прошу подсказки

Re: Audioclip и scrollview

СообщениеДобавлено: 09 апр 2020, 08:04
1max1
Скоролл колесиком что-ли или что?

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

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

Re: Audioclip и scrollview

СообщениеДобавлено: 09 апр 2020, 08:44
bossic002
1max1 писал(а):Скоролл колесиком что-ли или что?

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

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


Прошу прощения, что сразу не сказал. У меня есть постепенный автоматический скролл через скрипт, изменяется ScrollBar.value - уменьшается, content постепенно поднимается вверх. Я делаю приложение для мобильных устройств, поэтому мне нужны именно свайпы выше-ниже. Один работает исправно, выше я сказал, какой. Как заставить работать и второй?