unity学习30:Audio Source, Audio clip 音效和音乐
目录
1 音乐相关必须要有 Audio listener 和Source
2 Scene里必须要有 Audio listener
3 Audio Source
3.1 Audio Source 就是音源,可播放的音乐clip 分类
3.2 创建Audio Source
3.3 各种属性
3.4 3D sound Settings
4 使用脚本来播放声音
4.1 声明AudioClip 并进行外部绑定
4.2 GetComponent()
4.3 AudioSource对应的控制
4.4 用按键去控制
4.4.1 控制
4.4.2 实际代码
5 播放音效
1 音乐相关必须要有 Audio listener 和Source
- Audio listener : 负责听到声音
- Audio Source : 负责发出声音,声音源
2 Scene里必须要有 Audio listener
- Scene里必须要有 Audio listener
- Audio listener 也不需要单独创建,一般场景里会自动创建
- 每个场景Scene创建时,会自动创建1个camera,每个camera都会默认带一个 audio listener
- 如果有多个camera,就会有多个audio listener,保留1个即可
3 Audio Source
3.1 Audio Source 就是音源,可播放的音乐clip 分类
- Audio Source 就是音源,有一个喇叭符号
- 音效, 一般就是短时的,一次性播放的音效文件 clip
- 音乐,一般是背景音乐等,比较长,循环或单次等
3.2 创建Audio Source
- 比如在一个gameObject上创建一个 Audio Source
- 然后把 Asset shop 下载,导入的文件,拖到这里
- 开始运行就可以测试了
3.3 各种属性
- output
- mute: //静音
- bypass Effects : //绕过音响
- bypass listener Effects : // 绕过监听器效果
- play on awake
- loop
3.4 3D sound Settings
- 小圆球 : 声音发出的最小距离
- 大圆球: 声音发出的最小距离, 一个超级大球
- 3D曲线:
- 3D 声音,还是远了听了就变小,符合现实世界原理
4 使用脚本来播放声音
- 外面的各种勾选,比如loop可以不勾选
- 可以脚本里控制
4.1 声明AudioClip 并进行外部绑定
- public AudioClip m1; //绑定外部clip
- public AudioClip m2;
- 脚本里声明public 变量后, unity编辑器可以进行资源绑定
public AudioClip m1; //绑定外部clip
public AudioClip m2;//大概就相当于 其他语言里 path="" 这种指定外部资源吧
4.2 GetComponent<AudioSource>()
- GetComponent<>()
- GetComponent<AudioSource>() 返回1个AudioSource对象
- 所以需要这么定义
直接一句话定义和赋值
- AudioSource player1=GetComponent<AudioSource>();
或者分开定义和赋值
- private AudioSource player1;
- player1=GetComponent<AudioSource>();
4.3 AudioSource对应的控制
// 把外部获得的clip文件,赋值给player1.clip
- player1.clip=m1;
//设置循环
- player1.loop=true
// 控制声音
- player1.volume=0.5f
// 播放
- player1.Play()
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class TestMusic : MonoBehaviour
{//声明AudioClippublic AudioClip m1; //绑定外部clippublic AudioClip m2;//定义播放器组件private AudioSource player1;// Start is called before the first frame updatevoid Start(){player1=GetComponent<AudioSource>();//player1.clip=m1;player1.loop=true;player1.volume=0.5f; player1.Play(); }// Update is called once per framevoid Update(){}
}
4.4 用按键去控制
4.4.1 控制
- player1.Pause();
- player1.Stop();
- player1.UnPause();
- player1.play();
4.4.2 实际代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class TestMusic : MonoBehaviour
{//声明AudioClippublic AudioClip m1; //绑定外部clippublic AudioClip m2;//定义播放器组件private AudioSource player1;// Start is called before the first frame updatevoid Start(){player1=GetComponent<AudioSource>();//player1.clip=m1;player1.loop=true;player1.volume=0.5f; player1.Play(); }// Update is called once per framevoid Update(){if(Input.GetKeyDown(KeyCode.Space)){if(player1.isPlaying==true){//暂停播放player1.Pause();//player1.Stop();}else{//继续播放player1.UnPause();//player1.play();}}}
}
5 播放音效
- 音效的播放方式
- player1.PlayOneShot()
- 不循环,
- 每次只执行一次
- 可以反复执行
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class TestMusic : MonoBehaviour
{//声明AudioClippublic AudioClip m1; //绑定外部clippublic AudioClip m2;//定义播放器组件private AudioSource player1;// Start is called before the first frame updatevoid Start(){player1=GetComponent<AudioSource>();//player1.clip=m1;player1.loop=true;player1.volume=0.5f; player1.Play(); }// Update is called once per framevoid Update(){if(Input.GetKeyDown(KeyCode.Space)){if(player1.isPlaying==true){//暂停播放player1.Pause();//player1.Stop();}else{//继续播放player1.UnPause();//player1.play();}}if(Input.GetMouseButtonDown(0)){player1.PlayOneShot(m2);}}
}
相关文章:

unity学习30:Audio Source, Audio clip 音效和音乐
目录 1 音乐相关必须要有 Audio listener 和Source 2 Scene里必须要有 Audio listener 3 Audio Source 3.1 Audio Source 就是音源,可播放的音乐clip 分类 3.2 创建Audio Source 3.3 各种属性 3.4 3D sound Settings 4 使用脚本来播放声音 4.1 声明AudioC…...

【Qt 常用控件】输入类控件1(QLineEdit和QTextEdit 输入框)
目录 1.QLineEdit 单行输入框 例:输入个人信息,通过按钮提交 例:为输入框设置验证器,检查输入的电话 例:验证两次输入的密码是否一致 例:是否显示密码按钮,toggled信号。 2.QTextEdit多行输入框 、QPl…...

openEuler22.03LTS系统升级docker至26.1.4以支持启用ip6tables功能
本文记录了openEuler22.03LTS将docker升级由18.09.0升级至26.1.4的过程(当前docker最新版本为27.5.1,生产环境为保障稳定性,选择升级到上一个大版本26的最新小版本)。 一、现有环境 1、系统版本 [rootlocalhost opt]# cat /etc…...
深入解析:如何利用 Java 爬虫按关键字搜索淘宝商品
在电商领域,通过关键字搜索商品是常见的需求。无论是商家分析竞争对手,还是消费者寻找心仪的商品,获取搜索结果中的商品信息都至关重要。本文将详细介绍如何利用 Java 爬虫按关键字搜索淘宝商品,并提供完整的代码示例。 一、Java…...

STM32上部署AI的两个实用软件——Nanoedge AI Studio和STM32Cube AI
1 引言 STM32 微控制器在嵌入式领域应用广泛,因为它性能不错、功耗低,还有丰富的外设,像工业控制、智能家居、物联网这些场景都能看到它的身影。与此同时,人工智能技术发展迅速,也逐渐融入各个行业。 把 AI 部署到 STM…...

C++ Primer 成员访问运算符
欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…...

芯科科技的BG22L和BG24L带来应用优化的超低功耗蓝牙®连接
全新的BG22L为常见蓝牙设备提供强大的安全性和处理能力,而BG24L支持先进的AI/ML加速和信道探测功能 2025年2月6日 – 致力于以安全、智能无线连接技术,建立更互联世界的全球领导厂商Silicon Labs(亦称“芯科科技”,NASDAQ&#x…...
java后端开发面试常问
面试常问问题 1 spring相关 (1)Transactional失效的场景 <1> Transactional注解默认只会回滚运行时异常(RuntimeException),如果方法中抛出了其他异常,则事务不会回滚(数据库数据仍然插…...
双非硕士的抉择:自学嵌入式硬件开发还是深入Linux C/C++走软开?
今天给大家分享的是一位粉丝的提问,双非硕研一是自学嵌入式走偏硬件还是说深入学习Linuxc/c走软开呢? 接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。 粉丝提问: 老师好ÿ…...
Windows系统使用Git教程详解
使用 Git 可以帮助开发人员更好地进行版本控制和团队协作,下面是 Windows 上 Git 的详细使用教程。 安装 Git 首先,你需要在 Windows 上安装 Git。你可以从 Git 官网下载最新的安装包(https://git-scm.com/downloads),…...

Linux firewalld开启日志审计功能(2)
在Firewalld防火墙中启用和配置logdenied选项,记录被拒绝的数据包(等同于开启日志功能) 效果展示: 1.开启日志记录功能 firewall-cmd --set-log-deniedunicast #重新加载生效配置 firewall-cmd --reload 2.配置rsyslog捕获日志…...

【声音转文字CapsWriter】声音随时转化为文字,CapsWriter提高工作效率
文章目录 前言1. 软件与模型下载2. 本地使用测试3. 异地远程使用3.1 内网穿透工具下载安装3.2 配置公网地址3.3 修改config文件3.4 异地远程访问服务端 4. 配置固定公网地址4.1 修改config文件 5. 固定tcp公网地址远程访问服务端 前言 今天我要给大家安利一个神器——CapsWrit…...

深入理解小波变换:信号处理的强大工具
引言 在科学与工程领域,信号处理一直是关键环节,傅里叶变换与小波变换作为重要的分析工具,在其中发挥着重要作用。本文将深入探讨小波变换,阐述其原理、优势以及与傅里叶变换的对比,并通过具体案例展示其应用价值。 一…...
人机交互系统实验三 多通道用户界面
实验目的和要求 1)了解常见的多通道用户界面 2)查找资料,熟悉一种多通道用户界面并写出综述 实验环境 Windows10 实验内容与过程 (一) 实验内容: 要求上网查找资料,熟悉一种多通道用户界面并写出综述,可以是眼动跟踪、手势识别、 三维…...

Filter -> MaskFilter遮罩滤镜详解
MaskFilter 作用对象:MaskFilter 主要用于Paint的外观效果,给用Paint绘制的内容添加模糊或者浮雕效果应用效果: MaskFilter 处理位图的遮罩效果,影响绘制的边缘或整体形状主要用于模糊处理、浮雕效果等,通过影响绘制对…...
RK3568使用QT操作LED灯
文章目录 一、QT中操作硬件设备思路Linux 中的设备文件操作硬件设备的思路1. 打开设备文件2. 写入数据到设备3. 从设备读取数据4. 设备控制5. 异常处理在 Qt 中操作设备的典型步骤实际应用中的例子:控制 LED总结二、QT实战操作LED灯设备1. `mainwindow.h` 头文件2. `mainwindo…...

python学opencv|读取图像(五十七)使用cv2.bilateralFilter()函数实现图像像素双边滤波处理
【1】引言 前序学习过程中,已经掌握了对图像的基本滤波操作技巧,具体的图像滤波方式包括均值滤波、中值滤波和高斯滤波,相关文章链接有: python学opencv|读取图像(五十四)使用cv2.blur()函数实现图像像素…...

为何实现大语言模型的高效推理以及充分释放 AI 芯片的计算能力对于企业级落地应用来说,被认为具备显著的研究价值与重要意义?
🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ AI 芯片:为人工智能而生的 “大脑” AI 芯片,又称人工智能加速器或计算卡,是专为加速人工智能应用,特别是深度学习任务设计的专用集成电路(A…...

Android 约束布局ConstraintLayout整体链式打包居中显示
Android 用约束布局ConstraintLayout实现将多个控件视作一个整体居中显示,使用 app:layout_constraintHorizontal_chainStyle"packed"实现 chain 除了链条方向有横向和竖向区分外, chain链条上的模式有 3种 spread - 元素将被展开&#…...
在C#中,Array,List,ArrayList,Dictionary,Hashtable,SortList,Stack的区别
Array Array你可以理解为是所有数组的大哥 普通数组 : 特点是长度固定, 只能存储相同类型的数据 static void Main(string[] args){//声明int[] ints;string[] strings;People[] peoples;//默认值 //int 类型是 0//string 类型是 nullint[] ints1 { 1, 2, 3 };string[] …...

C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...

视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...