【小白学unity记录】使用unity播放声音

1. 示例

unity中播放声音涉及到两个组件。AudioSource和AudioClip。AudioSource可以理解为播放器,AudioClip可以理解为音频片段文件。AudioSource可以通过.clip属性切换音频片段。

using UnityEngine;

public class PlayerController : MonoBehaviour
{
    private int currentHealth;     
    private AudioSource shootingSound; 
    void Start()
    {
        currentHealth = maxHealth;

        // 添加 AudioSource 组件
        shootingSound = gameObject.AddComponent<AudioSource>();
        // 加载射击音频文件
        AudioClip shootingClip = Resources.Load<AudioClip>("audios/gun");
        if (shootingClip != null)
        {
            shootingSound.clip = shootingClip;
            shootingSound.Play();
        }
        else
        {
            Debug.LogError("Failed to load shooting audio clip!");
        }
    }
}

2. 详解代码片段

PlayerController 类的 Start 方法,主要负责初始化玩家飞船的一些属性,包括:

  1. AudioSource 组件的添加:

    // 添加 AudioSource 组件
    shootingSound = gameObject.AddComponent<AudioSource>();
    

    这一行代码在玩家飞船对象上添加了一个 AudioSource 组件。AudioSource 是用于播放音频的组件,可以控制音频的播放、暂停、音量等属性。

  2. 加载射击音频文件:

  3. // 加载射击音频文件 AudioClip 
    ​​​​​​​shootingClip = Resources.Load<AudioClip> 

    这一行代码尝试从 "Resources" 文件夹中加载名为 "audios/gun" 的音频文件。Resources.Load<AudioClip> 是 Unity 中用于从 "Resources" 文件夹加载资源的方法。加载成功后,将音频文件赋值给 shootingSound.clip 属性。

  4. 播放射击音频:

    // 加载射击音频文件
    AudioClip shootingClip = Resources.Load<AudioClip>("audios/gun");
    

    这部分代码首先检查加载的音频文件是否为空,如果不为空,将加载的音频文件设置为 shootingSound.clip,然后通过 shootingSound.Play() 播放射击音效。

  5. 错误处理:

    if (shootingClip != null)
    {
        shootingSound.clip = shootingClip;
        shootingSound.Play();
    }
    

    如果加载音频文件失败,输出错误信息到 Unity 控制台,以便开发者进行调试。

3. AudioSource方法大全

AudioSource 是 Unity 中用于播放音频的组件,提供了许多常用的方法和属性。以下是一些 AudioSource 常用的方法:

  1. 播放音频:

    • Play(): 开始播放音频。
    • PlayDelayed(float delay): 延迟一定时间后开始播放音频。
  2. 暂停和继续播放:

    • Pause(): 暂停音频的播放。
    • UnPause(): 继续之前暂停的音频播放。
  3. 停止音频播放:

    • Stop(): 立即停止音频播放。
  4. 音量控制:

    • volume: 获取或设置音频的音量(0.0 到 1.0 之间的值)。
  5. 循环播放:

    • loop: 获取或设置音频是否循环播放。
  6. Pitch(音调)控制:

    • pitch: 获取或设置音频的音调(调整音频的播放速度)。
  7. 空间音频(3D音频):

    • spatialBlend: 获取或设置音频的空间混合度,用于控制音频在3D空间中的效果。
  8. 时间控制:

    • time: 获取或设置音频的当前播放时间。
    • timeSamples: 获取或设置音频的当前播放时间(以采样为单位)。
  9. 播放速度控制:

    • pitch: 获取或设置音频的播放速度。
    • time: 获取或设置音频的当前播放时间。
  10. 循环区域播放:

    • SetScheduledStartTime(double time): 在指定时间之后开始音频的播放。
    • SetScheduledEndTime(double time): 在指定时间之后结束音频的播放。

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

油分离器的介绍

压缩机的排气中带有冷冻机油&#xff0c;这些冷冻机油如果随制冷剂蒸汽进入冷凝器、蒸发器后将 在传热表面形成油膜&#xff0c;从而影响换热效果。因此通常在压缩机与冷凝器之间装设油分离器&#xff0c;用 来分离制冷剂蒸汽中挟带的冷冻机油。在氟利昂制冷系统中&#xff0c;…

搜索引擎评价指标及指标间的关系

目录 二分类模型的评价指标准确率(Accuracy,ACC)精确率(Precision,P)——预测为正的样本召回率(Recall,R)——正样本注意事项 P和R的关系——成反比F值F1值F值和F1值的关系 ROC&#xff08;Receiver Operating Characteristic&#xff09;——衡量分类器性能的工具AUC&#xff…

线性代数------矩阵的运算和逆矩阵

矩阵VS行列式 矩阵是一个数表&#xff0c;而行列式是一个具体的数&#xff1b; 矩阵是使用大写字母表示&#xff0c;行列式是使用类似绝对值的两个竖杠&#xff1b; 矩阵的行数可以不等于列数&#xff0c;但是行列式的行数等于列数&#xff1b; 1.矩阵的数乘就是矩阵的每个…

c学习:sqlite3数据库操作

目录 获取sqlite3源码 c调用步骤 常用接口函数说明 例子 打开数据库&#xff0c;新建表&#xff0c;插入数据&#xff0c;查询数据&#xff0c;关闭数据库 查询数据需要在回调函数中获取 获取sqlite3源码 先下载c的sqlite3源码&#xff0c;https://www.sqlite.org/inde…

【蓝桥杯冲冲冲】进阶搜索 Anya and Cubes

蓝桥杯备赛 | 洛谷做题打卡day22 文章目录 蓝桥杯备赛 | 洛谷做题打卡day22Anya and Cubes题面翻译输入格式输出题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 样例 #3样例输入 #3样例输出 #3 提示题解代码我的一些话 Anya and Cubes …

HBase表结构

HBase是非关系型数据库&#xff0c;是高可靠性、高性能、面向列、可伸缩、实时读写的分布式数据库。 HBase使用场景 大规模数据存储&#xff1a;如日志记录、数据库备份等。实时数据访问&#xff1a;如实时搜索、实时分析等。高性能读写&#xff1a;如高并发、低延迟的读写操…

鸿蒙南向开发——GN快速入门指南

运行GN(Generate Ninja) 运行gn&#xff0c;你只需从命令行运行gn&#xff0c;对于大型项目&#xff0c;GN是与源码一起的。 对于Chromium和基于Chromium的项目&#xff0c;有一个在depot_tools中的脚本&#xff0c;它需要加入到你的PATH环境变量中。该脚本将在包含当前目录的…

系统分析师-22年-下午题目

系统分析师-22年-下午题目 更多软考知识请访问 https://ruankao.blog.csdn.net/ 试题一必答&#xff0c;二、三、四、五题中任选其中两题作答 试题一 (25分) 说明 某软件公司拟开发一套博客系统&#xff0c;要求能够向用户提供一个便捷发布自已心得&#xff0c;及时有效的…

什么是事务?

事务 是一组操作的集合&#xff0c;它是一个不可分割的工作单位。事务会把所有的操作作为一个整体&#xff0c;一起向数据库提交或者是撤销操作请求。所以这组操作要么同时成功&#xff0c;要么同时失败。 1. 事务管理 怎么样来控制这组操作&#xff0c;让这组操作同时成功或…

故障诊断 | 一文解决,CNN卷积神经网络故障诊断(Matlab)

文章目录 效果一览文章概述专栏介绍源码设计参考资料效果一览 文章概述 故障诊断 | 一文解决,CNN卷积神经网络故障诊断(Matlab) 专栏介绍 订阅【故障诊断】专栏,不定期更新机器学习和深度学习在故障诊断中的应用;订阅

oracle错误:The Network Adapter could not establish the connection

执行请求的操作时遇到错误: IO 错误: The Network Adapter could not establish the connection (CONNECTION_IDU34sFBqOSayf4o4C6pwQ6A) 供应商代码 17002 原因&#xff1a; 错误代码 17002 表示 Oracle 数据库客户端遇到了网络适配器无法建立连接的问题 解决办法&#x…

ModelArts加速识别,助力新零售电商业务功能的实现

前言 如果说为客户提供最好的商品是产品眼中零售的本质&#xff0c;那么用户的思维是什么呢&#xff1f; 在用户眼中&#xff0c;极致的服务体验与优质的商品同等重要。 企业想要满足上面两项服务&#xff0c;关键在于提升效率&#xff0c;也就是需要有更高效率的零售&#…

Apache Flink文件上传漏洞(CVE-2020-17518)漏洞代码分析

漏洞复现参考如下文章 Apache Flink文件上传漏洞&#xff08;CVE-2020-17518&#xff09;漏洞复现分析_文件上传漏洞复现cve-CSDN博客 分析代码的话&#xff0c;首先找到漏洞修复的邮件 漏洞详情&#xff0c;可以看到漏洞概要&#xff0c;影响的版本&#xff0c;漏洞描述以及…

EasyExcel实现Excel文件导入导出

1 EasyExcel简介 EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。 github地址: https://github.com/alibaba/easyexcel 官方文档: https://www.yuque.com/easyexcel/doc/easyexcel Excel解析流程图: EasyExcel读取…

事务、MVCC、锁

目录 事务MVCC锁 事务 四大特性&#xff1a;ACID 脏读&#xff1a;事务A读取到未提交事务B修改的数据 不可重复读&#xff1a;事务A修改了未提交事务B读取的数据 幻读&#xff1a;事务A增删了未提交事务B读取的数据 不可重复读与幻读都是读取的结果不同&#xff0c;前者侧重于…

SQL注入:宽字节注入

SQL注入系列文章&#xff1a; 初识SQL注入-CSDN博客 SQL注入&#xff1a;联合查询的三个绕过技巧-CSDN博客 SQL注入&#xff1a;报错注入-CSDN博客 SQL注入&#xff1a;盲注-CSDN博客 SQL注入&#xff1a;二次注入-CSDN博客 ​SQL注入&#xff1a;order by注入-CSDN博客 …

读AI3.0笔记10_读后总结与感想兼导读

1. 基本信息 AI 3.0 (美)梅拉妮米歇尔 著 四川科学技术出版社,2021年2月出版 1.1. 读薄率 书籍总字数355千字&#xff0c;笔记总字数33830字。 读薄率33830355000≈9.53% 1.2. 读厚方向 千脑智能 脑机穿越 未来呼啸而来 虚拟人 新机器人 如何创造可信的AI 新机器智…

【计算机网络】【练习题及解答】【新加坡南洋理工大学】【Computer Control Network】

说明&#xff1a; 仅供学习使用。 一、题目描述 题目共4问&#xff0c;描述网络通信中的 帧传输时延&#xff08;Frame Delay&#xff09;、传播时延&#xff08;Propagation Delay&#xff09;&#xff0c;以及 链接利用率&#xff08;Link Utilization&#xff09; 的相关…

【Go】微服务架构下实现etcd服务注册与服务发现

中心网关&#xff1a;gateway 四个微服务&#xff1a;user、message、note、relationship 1 中心网关实现服务发现 1.1 设计EtcdDiscovery类 package entityimport ("context""fmt"clientv3 "go.etcd.io/etcd/client/v3""gonote/gatewa…

IP 层转发分组的过程

目录 IP 层转发分组的过程 1.1 基于终点的转发 1.2 最长前缀匹配 转发表中的 2 种特殊的路由 主机路由 (host route) 默认路由 (default route) 路由器分组转发算法 1.3 使用二叉线索查找转发表 IP 层转发分组的过程 1.1 基于终点的转发 分组在互联网中是逐跳转发的。…