Показать сообщение отдельно
Старый 11.11.2018, 11:56   #1
Evgen
Разработчик
 
Аватар для Evgen
 
Регистрация: 12.01.2011
Адрес: Moscow
Сообщений: 419
Написано 68 полезных сообщений
(для 100 пользователей)
Динамическое создание аудиосемпла (AudioClip) из кода

Пример динамического создания аудиосемпла из кода и его прослушивание.
В демосценах обычно вся музыка и звуки генерируются данным методом.
Для запуска просто повесить данный скрипт на камеру.

using UnityEngine;
using System.Collections;

public class 
Main MonoBehaviour {
    
    public 
int samplerate 44100;
    public 
float freq 440;
    
    
void Start() {
        
// Создаем пустой клип: 1000 семплов, 1 канал, сэплрейт 44100
        
AudioClip a AudioClip.Create ("Аудио сэмпл"10001sampleratefalse);
        
// Подготавливаем массив
        
float[] samples = new float[a.samples a.channels];
        
// Генерируем звук
        
for (int i=0i<samples.Lengthi++) {
            
samples [i] = Mathf.Sin (Mathf.PI freq samplerate);
        }
        
// Загружаем данные в AudioClip
        
a.SetData (samples0);
        
// Создаем новый AudioSource и подключаем его к Camera
        
AudioSource source Camera.main.gameObject.AddComponent<AudioSource>();
        
// Присваиваем AudioSource наш клип
        
source.clip a;
        
// Громкость звука=0.5
        
source.volume 0.5f;
        
// Включить автоповтор
        
source.loop true;
        
// Начать проигрывание
        
source.Play();
    }


Последний раз редактировалось Evgen, 11.11.2018 в 13:12.
(Offline)
 
Ответить с цитированием