Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 15.12.2018
Сообщений: 2
1

Управление объекта громкостью сигнала с микрофона

15.12.2018, 16:06. Показов 2807. Ответов 2

Author24 — интернет-сервис помощи студентам
Всем привет, помогите, пожалуйста, разобраться с микрофоном в юнити.

Есть 2D объект, нужно сделать, что бы управление этим объектом (конкретно движение вверх) производилось громкостью входного сигнала с микрофона.

Сделал движение кнопками, но не могу сделать движение объекта вверх (аналогично кнопочному "W") громкостью входящего сигнала с микрофона (в моём понимании это создание переменной в которую заносится текущая громкость, сравнение этой переменной в процентах, и при, например ее значении меньше 20 = одна скорость, от 20 до 50 другая и тд), максимум чего я добился, это идентифицировать микрофон и в реальном времени воспроизводить сигнал.

Вот скрипт движения объекта:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
using System.Collections.Generic; // So we can use List<>
[RequireComponent(typeof(AudioSource))]
 
public class mic : MonoBehaviour {
    public float HorizontalSpeed;
    float SpeedX;
    public float VerticalImpulse;
    public float VerticalImpulse2;
    public float VerticalSpeed;
    float SpeedY;
    Rigidbody2D rb; 
    void Start () {
        rb = GetComponent<Rigidbody2D> ();
    }
        
    void Update () {
    }
        
    void FixedUpdate (){
        
        if (Input.GetKey (KeyCode.A)) {
            SpeedX = -HorizontalSpeed;
        } else if (Input.GetKey (KeyCode.D)) {
            SpeedX = HorizontalSpeed;
        }
 
        if (Input.GetKey (KeyCode.W)) {
            rb.AddForce (new Vector2 (0, VerticalImpulse), ForceMode2D.Impulse);
        } else if (Input.GetKey (KeyCode.S)) {
            rb.AddForce (new Vector2 (0, -VerticalImpulse), ForceMode2D.Impulse);
        }
 
        if (Input.GetKeyDown (KeyCode.Space)) {
            rb.AddForce (new Vector2 (0, VerticalImpulse2), ForceMode2D.Impulse);
        }
            
        transform.Translate (SpeedX, 0, 0);
        SpeedX = 0;
        transform.Translate (SpeedY, 0, 0);
        SpeedY = 0;
    }
}
скрипт распознавания микрофона:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using UnityEngine;
using System.Collections;
using UnityEngine.UI; //for accessing Sliders and Dropdown
using System.Collections.Generic; // So we can use List<>
[RequireComponent (typeof(AudioSource))]
 
public class mic : MonoBehaviour {
    
    public static float MicLoudness;
 
    private string _device;
 
    void Start ()
    {
        AudioSource audio = GetComponent<AudioSource>();
        audio.clip = Microphone.Start(null, true, 100, 44100);
        audio.loop = true;
        while (!(Microphone.GetPosition(null) > 0)){}
        Debug.Log("start playing... position is " + Microphone.GetPosition(null));
        audio.Play();
    }
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2018, 16:06
Ответы с готовыми решениями:

Управление громкостью
Здравствуйте! Нужна помощь. У меня есть объект public Microsoft.DirectX.AudioVideoPlayback.Audio...

Управление громкостью
Проблема: Устройство - PcCar...

Управление громкостью
Что-то мне подсказывает, что так нельзя или это трудно, но все-таки... Как сделаь что-то вроде...

Управление громкостью из сервиса
в сервисе воспроизводится звук с некоторыми промежутками, получается клавиши громкости управляют...

2
0 / 0 / 0
Регистрация: 15.12.2018
Сообщений: 2
20.12.2018, 15:11  [ТС] 2
Спасибо, разобрался.
0
0 / 0 / 0
Регистрация: 06.11.2019
Сообщений: 47
09.01.2020, 11:10 3
Ну и как разобрался ? Просто я такую же игру делаю
0
09.01.2020, 11:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.01.2020, 11:10
Помогаю со студенческими работами здесь

Управление громкостью системы
Поиск по форуму решений не дал

Управление громкостью в SoundManager 2
Кто знает библиотечку SoundManager 2? Как отключить звук вообще. Никак не могу отключить звук или...

управление громкостью звука?
? чем управлять то?

Управление громкостью Windows
Подскажите как можно сделать чтоб при нажатии на кнопку изменялась общая громкость в Windows 7 и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru