zoukankan      html  css  js  c++  java
  • unity3D中音频播放的开发

    Unity3D游戏引擎一共支持4个音乐格式的文件

    .AIFF  适用于较短的音乐文件可用作游戏打斗音效

    .WAV  适用于较短的音乐文件可用作游戏打斗音效

    .MP3  适用于较长的音乐文件可用作游戏背景音乐

    .OGG  适用于较长的音乐文件可用作游戏背景音乐

    在场景中创建一个空的游戏对象。

    GameObject -> CreateEmpty  创建成功后我命名为audio。

    给audio添加一个AudioSource属性,这个属性非常的重要,Unity播放音乐主要就是要靠这个东西。

    Component -> Audio – > Audio Source。

    找一个音乐文件,我这里使用了一个.mp3音乐文件,我命名为0.mp3 如下图所示将它拖动到右侧Audio Clip处。

    Audio Source 有很多设置的属性,那么MOMO将一些比较重要的属性诺列出来。

     

    AudioClip :声音片段,还可以在代码中去动态的截取音乐文件。

    Mute : 是否静音

    Bypass Effects: 是否打开音频特效

    Play On Awake: 开机自动播放

    Loop:循环播放

    Volume: 声音大小,取值范围0.0 到 1.0

    Pitch:播放速度,取值范围在 -3 到 3 之间 设置1 为正常播放,小于1 为减慢播放 大于1为加速播放。创建一个脚本我命名为audio.cs 用来音乐的播放。本章将实现3个按钮 点击实现 播放音乐、 停止音乐、 暂停音乐 ,与一个横向拖动条通过手指的拖动实现动态修改音乐声音。

    audio.cs 

    using UnityEngine;

    using System.Collections;

     

    public class audio : MonoBehaviour {

     

        //音乐文件

        public AudioSource music;

        //音量

        public float musicVolume;

     

        void Start() {

        //设置默认音量

        musicVolume = 0.5F;

        }

    void OnGUI() {

     

    //播放音乐按钮

    if (GUI.Button(new Rect(10, 10, 100, 50), "Play music"))  {

     

    //没有播放中

    if (!music.isPlaying){

    //播放音乐

    music.Play();

    }

     

    }

     

    //关闭音乐按钮

    if (GUI.Button(new Rect(10, 60, 100, 50), "Stop music"))  {

     

    if (music.isPlaying){

    //关闭音乐

    music.Stop();

    }

    }

    //暂停音乐

    if (GUI.Button(new Rect(10, 110, 100, 50), "Pause music"))  {

    if (music.isPlaying){

    //暂停音乐

    //这里说一下音乐暂停以后

    //点击播放音乐为继续播放

    //而停止以后在点击播放音乐

    //则为从新播放

    //这就是暂停与停止的区别

    music.Pause();

    }

    }

     

    //创建一个横向滑动条用于动态修改音乐音量

    //第一个参数 滑动条范围

    //第二个参数 初始滑块位置

    //第三个参数 起点

    //第四个参数 终点

    musicVolume = GUI.HorizontalSlider (new Rect(160, 10, 100, 50), musicVolume, 0.0F, 1.0F);

     

    //将音量的百分比打印出来

    GUI.Label(new Rect(160, 50, 300, 20), "Music Volueme is " + (int)(musicVolume * 100) + "%");

     

    if (music.isPlaying){

    //音乐播放中设置音乐音量 取值范围 0.0F到 1.0

    music.volume = musicVolume;

    }

    }

    }

    将audio.cs 绑定在摄像头上,将audio游戏对象拖动赋值给Music 这个AudioSource这个对象。这里强调一下AudioListenr ,它音频监听器,用来监听音乐文件的播放。这是一个重要的属性,一定要勾选,只有勾选后才可以进行音乐的播放。

  • 相关阅读:
    SSIS -->> Data Type
    SSIS ->> Parameter
    Data Flow ->> Term Lookup
    Data Flow ->> Term Extraction
    Data Flow ->> Pivot
    Data Flow ->> OLE Command
    Data Flow ->> Multicast
    Data Flow ->> Union All
    Data Flow ->> Merge
    LeetCode OJ 118. Pascal's Triangle
  • 原文地址:https://www.cnblogs.com/FLWL/p/3665420.html
Copyright © 2011-2022 走看看