当前位置:   article > 正文

【小白学unity记录】使用unity播放声音_unity 代码播放音频

unity 代码播放音频

1. 示例

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

  1. using UnityEngine;
  2. public class PlayerController : MonoBehaviour
  3. {
  4. private int currentHealth;
  5. private AudioSource shootingSound;
  6. void Start()
  7. {
  8. currentHealth = maxHealth;
  9. // 添加 AudioSource 组件
  10. shootingSound = gameObject.AddComponent<AudioSource>();
  11. // 加载射击音频文件
  12. AudioClip shootingClip = Resources.Load<AudioClip>("audios/gun");
  13. if (shootingClip != null)
  14. {
  15. shootingSound.clip = shootingClip;
  16. shootingSound.Play();
  17. }
  18. else
  19. {
  20. Debug.LogError("Failed to load shooting audio clip!");
  21. }
  22. }
  23. }

2. 详解代码片段

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

  1. AudioSource 组件的添加:

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

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

  2. 加载射击音频文件:

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

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

  3. 播放射击音频:

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

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

  4. 错误处理:

    1. if (shootingClip != null)
    2. {
    3. shootingSound.clip = shootingClip;
    4. shootingSound.Play();
    5. }

    如果加载音频文件失败,输出错误信息到 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): 在指定时间之后结束音频的播放。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/112711
推荐阅读
相关标签
  

闽ICP备14008679号