Unity基础 音频组件以及音频播放

news2024/11/25 1:27:37

在游戏开发中,声音是一个重要的环节。Unity中的声音组件可以帮助开发者轻松地控制游戏中音频的播放、音量、循环等属性,从而实现更好的游戏体验。本文将详细介绍Unity声音组件的相关概念和技术,以及其在游戏、影视等领域的广泛应用和发展前景。

      在Unity中想要播放声音必须用到两个组件:

   1.AudioListener :声音监听组件

    说白了就是接收声音的组件,只有挂在了这个组件,在场景中播放声音我们才能听到,此组件默认挂载在摄像机上面,不用设置任何参数,新建摄像机都会挂载这个组件,场景中保证有一个即可,多余的需要移除,不然会有提示 

 2.AudioSource:声音播放组件

   用这个组件可以播放我们想要的声音,播放长音频的时候也可以播放短的音效,代码中修改的参数大多来自于这个组件

 

其中在AudioSource组件中我们需要了解的参数有:

AudioClip:所要播放的音频,支持格式有.MP3  .ogg  .wav  .aif

唤醒时播放:勾选后运行时候会自动播放

循环:勾选后会重复播放,适用于背景音乐

音量:调节音量大小

音调:调节音调大小

空间混合:0是2D,拖到1就是3D声音,声音大小会根据距离产生变化

代码比较简单 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class AudioTest : MonoBehaviour
{

    //声音组件
    public AudioSource aud;
    //背景音乐 长音频
    public AudioClip background;
    //短音效
    public AudioClip buttonAudio;
    void Start()
    {
        //指定要播放的声音
        aud.clip = background;
        //设置是否循环
        aud.loop = true;
        //设置音量大小
        aud.volume = 0.9f;

    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Q))
        {
            //播放长音频
            aud.Play();
        }
        if (Input.GetKeyDown(KeyCode.P))
        {
            //停止播放,和暂停不同的是每次停止播放后再次播放需要从头开始
            aud.Stop();
        }
        if (Input.GetKeyDown(KeyCode.P))
        {
            //暂停播放
            aud.Pause();
        }
        if (Input.GetKeyDown(KeyCode.D))
        {
            //取消暂定
            aud.UnPause();
        }
        if (Input.GetKeyDown(KeyCode.Space))
        {
            //播放短音效
            aud.PlayOneShot(buttonAudio);
        }
    }
} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/588006.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

银行联行号-联行号api接口-联行号数据源

接口地址: https://登录后显示/api/180/348(支持:http/https) 数据源:https://www.wapi.cn/source/8.html 网站地址:https://www.wapi.cn 返回格式:json,xml 请求方式:GET,POST 请求说明: 银行联行号-联行…

数据集:T-Drive(北京出租车轨迹数据)

1 数据来源 T-Drive trajectory data sample - Microsoft Research 2 数据介绍 数据集包含了2008年2月2日至2月8日期间在北京市内的10,357辆出租车的GPS轨迹。总共包含约1500万个GPS点,轨迹总里程达到了900万公里。 图1显示了两个连续点之间的时间间隔和距离间隔…

Apache 配置和应用

目录 构建虚拟 Web 主机 Options指令解释 Options指令常用选项 AllowOverride指令解释: 地址限制策略: httpd服务支持的虚拟主机类型包括以下三种: 基于域名的虚拟主机 1.为虚拟主机提供域名解析 2.为虚拟主机准备网页文档 3.添加虚拟…

【服务器】springboot实现HTTP服务监听

文章目录 前言1. 本地环境搭建1.1 环境参数1.2 搭建springboot服务项目 2. 内网穿透2.1 安装配置cpolar内网穿透2.1.1 windows系统2.1.2 linux系统 2.2 创建隧道映射本地端口2.3 测试公网地址 3. 固定公网地址3.1 保留一个二级子域名3.2 配置二级子域名3.2 测试使用固定公网地址…

Mysql 异常,“Cause: com.mysql.cj.jdbc.exceptions.MySQLTimeoutException”

Cause: com.mysql.cj.jdbc.exceptions.MySQLTimeoutException: Statement cancelled due to timeout or client request 简言:这种异常从字面翻译过来:mysql 请求链接超时,具体超时是什么原因导致的,可以根据情况分析下。 异常详…

【黄啊码】PHP商城中的积分任务系统实现

大家好,我是黄啊码,前几天有位小伙伴问我,商城中的任务系统是怎么实现的? 积分作为一种营销手段,被广泛运用于线上/线下的产品中,以此来增加用户对于产品的粘性。比如天猫积分可以用来兑换商品&#xff0c…

uni-app通过vue.config.js在项目中配置跨域代理

其实这个 如果你用nginx去配肯定再好不过 不过 一般大家也都不想把开发环境弄那么复杂 最好还是在项目中配置 那么 我们选择项目跟目录右键 选择 使用命令行窗口打开所在目录 在新弹出的命令行中引入依赖 npm install http-proxy-middleware --save-dev然后我们的依赖就进来…

【通信接口】CAN总线协议

目录 一、什么是CAN 1、CAN 的概念 2、节点构成(CAN 总线通信模型) 3、差分信号(电平特性) 4、CAN 总线的特点 二、CAN 总线协议的通信过程 1、发送过程 2、接收过程 3、概括 三、CAN 通信帧的分类 一、什么是CAN 1、C…

易基因:全基因组ChIP-seq分析揭示细菌转录因子PhoB的基因内结合位点|mBio

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 细菌编码许多转录因子(transcription factor,TF),这些转录因子通过与启动子周围的DNA结合并调控RNA聚合酶(RNAP)全…

微服务架构打造的供应链系统、采购配送系统,支持SaaS模式

一、开源项目简介 haohan-scm 介绍 基于pig微服务架构打造 供应链系统,采购配送系统。为客户提供仓储管理、订单管理、打单、货源采购、分拣、配送等系统功能。 二、开源协议 使用AGPL-3.0开源协议 三、界面展示 系统截图 四、功能概述 基于pig微服务架构打…

电脑重装系统需要多长的时间

电脑重装系统是一个涉及多个步骤和因素的过程,所需的时间会因个体差异和系统配置而异。本文将解析电脑重装系统所需的时间,并提供一些因素和建议,帮助您对整个过程有一个准确的预期。 工具/原料: 系统版本:windows8系…

c语言的预处理和编译

预处理 文件包含 当预处理器发现#include指令时,会查看后面的文件名并把文件的内容包含到当前文件中 两种写法 尖括号:引用的是编译器的库路径里面的头文件。 双引号:引用的是程序目录中相对路径中的头文件,如果找不到再去上面…

【redis基础】事务|管道|发布订阅

大家好~这里是redis系列文章之《【redis基础】事务|管道|发布订阅》上一篇文章:redis持久化【RDBAOF】持久化双雄_努力努力再努力mlx的博客-CSDN博客 目录 事务 概念 作用 数据库事务vs redis事务 常用指令 情况1:正常执行 情况2:放弃…

微信小程序开发实践入门教程

随着微信小程序的火爆,越来越多的人开始关注微信小程序开发并加入开发大军中,而很多人对于如何开发微信小程序,并没有很好的思路和方法。因此,为了方便大家在学习、实践和应用的过程中能够少走弯路,本文将通过一篇关于…

IE11离线安装包ie离线升级ie11离线安装ie11补丁

首先下载ie11离线安装包与补丁文件: 下载地址(我的资源里有): (如不着急可私信直接要安装包补丁包,我若看到及时回复你) 1、 下载补丁文件和IE11安装程序(这里以32位系统为例&…

uni-app 金额格式化

普通过滤器(filter)在当前页面定义&#xff0c;复制红色代码即可 <template> <view> <text >{{balance|money}}</text> </view> </template> <script> export default{ data(){ return{ …

怎么让用户用好你的在线帮助文档协作工具?

在线帮助文档协作工具是现代企业中重要的工具&#xff0c;它可以帮助企业员工更好地协作&#xff0c;提高工作效率&#xff0c;减少沟通成本。然而&#xff0c;如何让用户用好在线帮助文档协作工具&#xff0c;满足其需求&#xff0c;本文将探讨以下几个方面&#xff1a; 一、…

LwIP 之七 详解 PBUF 结构、通信数据流、性能优化

数据包的复制在协议栈中是非常耗时的一个操作。LwIP 协议栈内部使用 pbuf 这种数据结构来对数据进行传递&#xff0c;灵活的 pbuf 结构体使得数据在不同网络层之间传递时可以减少内存的开销&#xff0c;避免频繁的内存复制&#xff0c;增加数据在不同层之间传递的速度。 简介 …

OJ练习第122题——交错字符串

交错字符串 力扣链接&#xff1a;97. 交错字符串 题目描述 给定三个字符串 s1、s2、s3&#xff0c;请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下&#xff0c;其中每个字符串都会被分割成若干 非空 子字符串&#xff1a; s …

Idea+maven+springboot项目搭建系列--1 整合Rocketmq

前言&#xff1a;本文以mavenspringboot 整合Rocketmq 完成消息的发送和接收。 1 Rocketmq 介绍&#xff1a; 1.1 Rocketmq 特性&#xff1a; Apache RocketMQ是一款快速、可靠的分布式消息传递和流处理平台&#xff0c;具有可扩展性和高性能。它是一个分布式的、去中心化的消…