Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
834 / 729 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
1

Microphone Start

19.12.2015, 23:07. Просмотров 1799. Ответов 17
Метки нет (Все метки)

Микрофон. Вот этот код компилируется, но я так и непонял что он делает?
http://docs.unity3d.com/ru/cur... Start.html

Вроде как включает микрофон.. Ну а куда пишет, где сохраняет тогда?

C#
1
2
3
4
5
6
7
8
9
10
using UnityEngine;
using System.Collections;
 
public class ExampleClass : MonoBehaviour {
    void Start() {
        AudioSource aud = GetComponent<AudioSource>();
        aud.clip = Microphone.Start("Built-in Microphone", true, 10, 44100);
        aud.Play();
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2015, 23:07
Ответы с готовыми решениями:

Методы Awake, Start
Вот если опустится на более низкий абстрактный уровень, то чем окажутся методы по типу Awake,...

Не срабатывают методы Start и OnEnable
Здравствуйте. Есть сцена главного меню. При нажатии на кнопку Options панель с главными кнопками...

UnityException: Unable to start activity!
ку всем :jokingly: При билде появляется такой ексепшион : Error building Player:...

Модификаторы доступа для Update() Start()
Други .подскажите начинающему ответ на банальный вопрос. а зачем приватить Update(), Start() или...

17
734 / 582 / 203
Регистрация: 06.08.2015
Сообщений: 2,426
20.12.2015, 02:46 2
Start Recording with device
Записывает с устройства (микрофон или line-in) в
AudioClip
Все же в справке написано, что по ссылке.
Returns AudioClip
The function returns null if the recording fails to start.
0
834 / 729 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
21.12.2015, 01:21  [ТС] 3
Цитата Сообщение от Cr0c Посмотреть сообщение
Записывает с устройства (микрофон или line-in) в
Записывать может и записывает, но как прослушать то что записало?
0
734 / 582 / 203
Регистрация: 06.08.2015
Сообщений: 2,426
21.12.2015, 03:06 4
NIKOLAYY, назначить AudioClip в соответствующее поле AudioSource и вызвать Play() у этого AudioSource, например. Есть ещё PlayClipAtPoint, вроде, не помню точно
0
834 / 729 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
21.12.2015, 12:05  [ТС] 5
Cr0c,
Я разобрал этот пример по гуглу и параметры например параметр 10 там обозначает делать запись звука с микрофона 10 секунд и потом сразу воспроизвести.
Не воспроизвоидит. Тестил на андроиде.
0
734 / 582 / 203
Регистрация: 06.08.2015
Сообщений: 2,426
21.12.2015, 12:25 6
NIKOLAYY, какое устройство назначали для записи?
0
834 / 729 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
21.12.2015, 12:57  [ТС] 7
Цитата Сообщение от Cr0c Посмотреть сообщение
какое устройство назначали для записи?
Задавал как выше и задавал так:
C#
1
aud.clip = Microphone.Start(null, true, 10, 44100); //null должно использоваться устройство по умолчанию
0
734 / 582 / 203
Регистрация: 06.08.2015
Сообщений: 2,426
21.12.2015, 13:01 8
NIKOLAYY, Microphone-devices попробуйте, может на андроиде надо задавать принудительно микрофон.
0
834 / 729 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
21.12.2015, 14:13  [ТС] 9
Цитата Сообщение от Cr0c Посмотреть сообщение
Microphone-devices попробуйте
Это я пробовал, на комп выдает имя микрофона, на андроид вывод хотел в UI- текст и как понял нету такого понятия как имя микрофона у телефона..

У телефона есть имя девайса, само название телефона имею ввиду, вот это он выдает! но не выдает микрофоны!


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
 
public class ExampleClass : MonoBehaviour {
 
 public Text MyText;
 
 void Start () {
 print(SystemInfo.deviceName); //вывод в консоль
 MyText.text = "Инфо = " + SystemInfo.deviceModel; //вывод в UI
 }
}
0
734 / 582 / 203
Регистрация: 06.08.2015
Сообщений: 2,426
21.12.2015, 15:14 10
NIKOLAYY,
C#
1
2
3
4
5
 void Start () {
 MyText.text = "Devices: \r\n";
 for (int i=0; i<Microphone.devices.Length; i++)
 MyText.text = MyText.text + "\r\n" + Microphone.devices[i]; //вывод в UI
 }
Какой список выдаёт?
1
834 / 729 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
21.12.2015, 15:42  [ТС] 11
Cr0c,
Одно устройство находит и во что пишет:
Андроид аудио вход.
0
Миниатюры
Microphone Start  
734 / 582 / 203
Регистрация: 06.08.2015
Сообщений: 2,426
21.12.2015, 16:23 12
NIKOLAYY,
C#
1
aud.clip = Microphone.Start(Microphone.devices[0], true, 10, 44100);
Попробуйте
0
834 / 729 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
24.12.2015, 09:15  [ТС] 13
Cr0c,
Не не отработал код, хотя должен был бы.
Видимо ошибка юнити разработчиков.
Создали код внедрили в среду разработки а не потестили его на работоспособность...
0
734 / 582 / 203
Регистрация: 06.08.2015
Сообщений: 2,426
24.12.2015, 10:44 14
NIKOLAYY, может дискретизация не поддерживается?

Добавлено через 51 минуту
GetDeviceCaps посмотри, по твоей ссылке есть.
0
834 / 729 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
03.01.2016, 22:58  [ТС] 15
Cr0c,
Вот эта частота 44100 как раз и есть для чистого воспроизведения речевых звуков используется частота эта в телефонах как я прочитал в гугле.

По крайней мере я бы хоть какой то писк или треск в микрофон услышал бы если бы он вобще работал.
Такое ощущение этафункция его просто вобще неумеет включать, хотя все сделали по юнитековскому шаблонуи даже больше, микрофон который использовать принудительно указали.
0
734 / 582 / 203
Регистрация: 06.08.2015
Сообщений: 2,426
03.01.2016, 23:27 16
NIKOLAYY, GetDeviceCaps какой диапазон выдаёт?
0
834 / 729 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
19.02.2016, 23:53  [ТС] 17
Нашол рабочий код, он оказался довольно не простым, протестил работает.
Не забудьте кинуть на сцену пустой компонент и в него AudioSource.

Здесь описание кода: http://www.41post.com/4884/pro... microphone

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
using UnityEngine;  
using System.Collections;  
  
[RequireComponent (typeof (AudioSource))]  
  
public class SingleMicrophoneCapture : MonoBehaviour   
{  
    //A boolean that flags whether there's a connected microphone  
    private bool micConnected = false;  
  
    //The maximum and minimum available recording frequencies  
    private int minFreq;  
    private int maxFreq;  
  
    //A handle to the attached AudioSource  
    private AudioSource goAudioSource;  
  
    //Use this for initialization  
    void Start()   
    {  
        //Check if there is at least one microphone connected  
        if(Microphone.devices.Length <= 0)  
        {  
            //Throw a warning message at the console if there isn't  
            Debug.LogWarning("Microphone not connected!");  
        }  
        else //At least one microphone is present  
        {  
            //Set 'micConnected' to true  
            micConnected = true;  
  
            //Get the default microphone recording capabilities  
            Microphone.GetDeviceCaps(null, out minFreq, out maxFreq);  
  
            //According to the documentation, if minFreq and maxFreq are zero, the microphone supports any frequency...  
            if(minFreq == 0 && maxFreq == 0)  
            {  
                //...meaning 44100 Hz can be used as the recording sampling rate  
                maxFreq = 44100;  
            }  
  
            //Get the attached AudioSource component  
            goAudioSource = this.GetComponent<AudioSource>();  
        }  
    }  
  
    void OnGUI()   
    {  
        //If there is a microphone  
        if(micConnected)  
        {  
            //If the audio from any microphone isn't being captured  
            if(!Microphone.IsRecording(null))  
            {  
                //Case the 'Record' button gets pressed  
                if(GUI.Button(new Rect(Screen.width/2-100, Screen.height/2-25, 200, 50), "Record"))  
                {  
                    //Start recording and store the audio captured from the microphone at the AudioClip in the AudioSource  
                    goAudioSource.clip = Microphone.Start(null, true, 20, maxFreq);  
                }  
            }  
            else //Recording is in progress  
            {  
                //Case the 'Stop and Play' button gets pressed  
                if(GUI.Button(new Rect(Screen.width/2-100, Screen.height/2-25, 200, 50), "Stop and Play!"))  
                {  
                    Microphone.End(null); //Stop the audio recording  
                    goAudioSource.Play(); //Playback the recorded audio  
                }  
  
                GUI.Label(new Rect(Screen.width/2-100, Screen.height/2+25, 200, 50), "Recording in progress...");  
            }  
        }  
        else // No microphone  
        {  
            //Print a red "Microphone not connected!" message at the center of the screen  
            GUI.contentColor = Color.red;  
            GUI.Label(new Rect(Screen.width/2-100, Screen.height/2-25, 200, 50), "Microphone not connected!");  
        }  
  
    }  
}
1
734 / 582 / 203
Регистрация: 06.08.2015
Сообщений: 2,426
20.02.2016, 09:00 18
NIKOLAYY, десяток строк - не много. А вот с дескритизацией интересно.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.02.2016, 09:00

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

C# Microphone to headphones. Echo.
Всем снова здравствуйте. Начал с C++, но послал его ибо это есть бред. То есть нет - бреда как раз...

Что означает строка $start - int $start в условие
Всем добрый вечер. Изучаю perl, в примере наткнулась на строку в условии if ($start - int...

TRUST GXT 232 MANTIS STREAMING MICROPHONE
Приветствую! Хочу купить данный микрафон, привлекло то что не дорогая цена и есть прокладка около...

Имеется таблица с колонками Proсcess, Weight, Start, Stop. В Start и Stop хранятся начало операции и конец соответственно(datetime)
Помогите выполнить запрос в SQL. Имеется таблица с колонками Proсcess, Weight, Start, Stop. В Start...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.