【小白学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): 在指定时间之后结束音频的播放。

 

  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值