Unity常用音频操作类示例代码

下面通过代码给大家介绍Unity常用音频操作类,具体代码如下所示:

using UnityEngine;
using System.Collections;

public class AudioPlay : MonoBehaviour {
    public static AudioPlay Instance;
    public AudioClip[] FuChuAudio;
    public AudioSource FCAudio;
   // public AudioSource BabyAudio;
    // Use this for initialization
    void Awake()
    {
        Instance = this;
    }

    void Start () {
    }

    // Update is called once per frame
    void Update () {
    }
    /// <summary>
    /// 播放某个音频
    /// </summary>
    /// <param name="i"></param>
    public void playAudio(int i)
    {
        FCAudio.clip = FuChuAudio[i];
        FCAudio.Play();
    }
    /// <summary>
    /// 停止播放所有的音频
    /// </summary>
    public void StopplayAll()
    {

        for (int i= 0; i< FuChuAudio.Length; i++)
        {
            FCAudio.clip = FuChuAudio[i];
            FCAudio.Stop();
        }
    }
    /// <summary>
    /// 停止播放某个音频
    /// </summary>
    /// <param name="i"></param>
    public void StopplayOne(int i)
    {
        FCAudio.clip = FuChuAudio[i];
        FCAudio.Stop();
    }

    /// <summary>
    /// 循环播放某个音频
    /// </summary>
    /// <param name="i"></param>
    public void playLoop(int i)
    {
        FCAudio.clip = FuChuAudio[i];
        FCAudio.loop = true;//设置声音为循环播放 ;
        FCAudio.Play();
    }
}
/***将这个脚本挂载到一个空物体上,并且给它添加 AudioSource 组件*/using System.Collections;
using System.Collections.Generic;
using UnityEngine;

/// <summary>
/// 控制所有音乐的管理类
/// </summary>
public class AudioManager : MonoBehaviour
{
    //将要轮流播放的音乐组
    public AudioClip[] audioGroup;

    //当前播放的是谁
    private int playingIndex;

    //是否允许播放音乐
    private bool canPlayAudio;

    //AudioSource组件
    private AudioSource audioSource;

    //-----------------------------------------------------

    void Start()
    {
        audioSource = this.GetComponent<AudioSource>();

        canPlayAudio = true;

        playingIndex = 0;
    }

    //-----------------------------------------------------

    void Update()
    {
        if (canPlayAudio)
        {
            PlayAudio();

            canPlayAudio = false;
        }

        if (!audioSource.isPlaying)
        {
            playingIndex++;

            if (playingIndex >= audioGroup.Length)
            {
                playingIndex = 0;
            }

            canPlayAudio = true;
        }
    }

    //-----------------------------------------------------

    private void PlayAudio()
    {
        audioSource.clip = audioGroup[playingIndex];
        audioSource.Play();
    }

    //-----------------------------------------------------
}

到此这篇关于Unity常用音频操作类示例代码的文章就介绍到这了,更多相关Unity音频内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2021-07-19

Unity实现音频播放管理器

本文实例为大家分享了Unity实现音频播放管理器的具体代码,供大家参考,具体内容如下 1.模块化,直接用.创建一个空物体,把此脚本拖上去,然后把需要播放的所有音频拖到面板上的"AudioList"中: 2.通过AudioManagerP._instance直接调用方法,包含: 暂停: 继续播放: 停止播放: 播放背景音乐(0号播放器专用于播放背景音): 直接播放声音(带参数1.播放器序号  2.音频的名字    3.声音大小    4.   是否循环): 直接播放呻吟(带参数1.播放器

Android App中使用AudioManager类来编写音频播放器

手机都有声音模式,声音.静音还有震动,甚至震动加声音兼备,这些都是手机的基本功能.在Android手机中,我们同样可以通过Android的SDK提供的声音管理接口来管理手机声音模式以及调整声音大小,这就是Android中AudioManager的使用. AudioManager 类位于 android.Media 包中,该类提供访问控制音量和钤声模式的操作   以下分别是AudioManager设置声音模式和调整声音大小的方法.     如何获取声音管理器: AudioManager audio

实例解析使用Java实现基本的音频播放器的编写要点

Java音频播放,因为必须依赖到本地环境,所以JAVA在音频处理方面优势不大,或者说打从Java体系开发时就没太多的考虑音频播放因素,要知道最早的Java 1.1版本中,没有后来的javax.sound包,音频只能通过Applet包调取-- 遗憾的是,在图形程序开发中,我们的程序却又难免要使用到背景音乐.效果音等配合图像操作,哎,这实在是Sun大神给我们开的一个不打不小的玩笑.万幸后来Sun大神开眼,提供了javax.sound包,才解救我们于水深火热当中~ 但是继之而来的问题是,在javax.

iOS中的音频服务和音频AVAudioPlayer音频播放器使用指南

AudioServicesPlaySystemSound音频服务 对于简单的.无混音音频,AVAudio ToolBox框架提供了一个简单的C语言风格的音频服务.你可以使用AudioservicesPlaySystemSound函数来播放简单的声音.要遵守以下几个规则: 1.音频长度小于30秒 2.格式只能是PCM或者IMA4 3.文件必须被存储为.caf..aif.或者.wav格式 4.简单音频不能从内存播放,而只能是磁盘文件 除了对简单音频的限制外,你对于音频播放的方式也基本无法控制.一旦音

使用javax.sound实现简单音频播放

本文实例为大家分享了javax.sound实现简单音频播放的具体代码,供大家参考,具体内容如下 /** * @see * @author Al_assad yulinying_1994@outlook.com * @date 2016年11月17日 下午6:27:59 * @version V1.0 * Description: 简易音频播放器(只支持AU,RA,WAV) * 在不使用JMF的情况下快速实现音频播放 * */ import javax.sound.sampled.*; impor

HTML5视频播放标签video和音频播放标签audio标签的正确用法

如何嵌入视频和音频 在网页里嵌入HTML5音频播放器和视频播放器的方法非常简单: <video src="//www.jb51.net/~j/theora_testsuite/320x240.ogg" controls autoplay loop> Your browser does not support the <code>video</code> element. </video> 上面这个例子显示了如何播放一个视频文件,并露出视频

Android自定义View实现音频播放圆形进度条

本篇文章介绍自定义View配合属性动画来实现如下的效果 实现思路如下: 根据播放按钮的图片大小计算出圆形进度条的大小 根据音频的时间长度计算出圆形进度条绘制的弧度 通过Handler刷新界面来更新圆形进度条的进度 具体实现过程分析: 首先来看看自定义View中定义的一些成员变量 //表示坐标系中的一块矩形区域 private RectF mRectF; //画笔 private Paint mPaint; //画笔宽度 private int mCircleStoreWidth = 3; //最

Java卡片布局管理器解释及实例

由 CardLayout 类实现的布局管理器称为卡片布局管理器,用来操纵其所管理容器中包含的容器或组件.每个直接添加到其所管理容器中的容器或组件为一个卡片,最先被添加的容器或组件被认为是第一个卡片,最后被添加的则为最后一个卡片,初次运行时将显示第一个卡片.下面,我们就来通过一个实例看看它是怎么用的. 源码: import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.Color; import java.aw

详解Python的Twisted框架中reactor事件管理器的用法

铺垫 在大量的实践中,似乎我们总是通过类似的方式来使用异步编程: 监听事件 事件发生执行对应的回调函数 回调完成(可能产生新的事件添加进监听队列) 回到1,监听事件 因此我们将这样的异步模式称为Reactor模式,例如在iOS开发中的Run Loop概念,实际上非常类似于Reactor loop,主线程的Run Loop监听屏幕UI事件,一旦发生UI事件则执行对应的事件处理代码,还可以通过GCD等方式产生事件至主线程执行. 上图是boost对Reactor模式的描绘,Twisted的设计就是基于

正确理解python中的关键字“with”与上下文管理器

前言 如果你有阅读源码的习惯,可能会看到一些优秀的代码经常出现带有 "with" 关键字的语句,它通常用在什么场景呢?今天就来说说 with 和 上下文管理器. 对于系统资源如文件.数据库连接.socket 而言,应用程序打开这些资源并执行完业务逻辑之后,必须做的一件事就是要关闭(断开)该资源. 比如 Python 程序打开一个文件,往文件中写内容,写完之后,就要关闭该文件,否则会出现什么情况呢?极端情况下会出现 "Too many open files" 的错误,