forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Уроки (http://forum.boolean.name/forumdisplay.php?f=145)
-   -   Динамическое создание аудиосемпла (AudioClip) из кода (http://forum.boolean.name/showthread.php?t=20743)

Evgen 11.11.2018 11:56

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

PHP код:

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();
    }




Часовой пояс GMT +4, время: 12:19.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot