UnityAPI学习之 播放游戏音频的类(AudioSource)

播放游戏音频的类(AudioSource)

cs 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class NO17AudioSource : MonoBehaviour
{
    private AudioSource audioSource;//音频组件
    public AudioClip clip;//音频文件
    public AudioClip clip2;
    bool mutestate;
    bool pausestate;
    // Start is called before the first frame update
    void Start()
    {
        audioSource = GetComponent<AudioSource>();
        audioSource.clip = clip;
        audioSource.Play();
        //设置音乐的播放开始的时间轴位置
        audioSource.time = 3;
    }

    // Update is called once per frame
    void Update()
    {
        //实现按下W键静音,再次按下恢复音量
        if (Input.GetKeyDown(KeyCode.W))
        {
            mutestate = !mutestate;
            audioSource.mute = mutestate;
        }
        if (Input.GetKeyDown(KeyCode.P))
        {
            pausestate = !pausestate;
            //暂停播放
            if (pausestate)
            {
                audioSource.Pause();
            }
            else
            {
                //继续播放
                audioSource.UnPause();
            }
        }
        //停止播放
        if (Input.GetKeyDown(KeyCode.S))
        {
            audioSource.Stop();
        }
        //播放一次
        if (Input.GetKeyDown(KeyCode.K))
        {
            audioSource.PlayOneShot(clip2);
        }
        //静态方法
        //在指定位置创建音频
        if (Input.GetKeyDown(KeyCode.Q))
        {
            AudioSource.PlayClipAtPoint(clip2,transform.position);
        }
    }
}

注:

  1. audioSource.Stop()这个函数一旦执行就停止音频播放,想要重新播放音频就只有执行audioSource.Play()这条命令

  2. 使用音频文件的前提是,要在相应的组件上装AudioListener组件

相关推荐
长不大的小Tom1 分钟前
从0开始入门WPF(开发环境搭建)
c#
小陈phd8 分钟前
多模态大模型学习笔记(十二)——transformer学习之Embedding
笔记·学习·transformer
格鸰爱童话9 分钟前
向AI学习项目技能(三)
java·人工智能·python·学习
阿蒙Amon11 分钟前
C#常用类库-详解Log4Net
开发语言·c#
头疼的程序员18 分钟前
计算机网络:自顶向下方法(第七版)第三章 学习分享(三)
网络·学习·计算机网络
观书喜夜长20 分钟前
OpenClaw 本地安装与 Ollama 大模型接入实战教程-实现无限tokens使用
学习·网络安全
kisshuan1239623 分钟前
Ghost卷积瓶颈轻量化改进YOLOv26双阶段压缩与残差学习协同突破
学习·yolo
EnglishJun43 分钟前
ARM嵌入式学习(一) --- 入门51
arm开发·学习
技术小黑1 小时前
TensorFlow学习系列07 | 实现咖啡豆识别
人工智能·学习·tensorflow
唐青枫1 小时前
C#.NET Memory 深入解析:跨异步边界的内存视图与高性能实战
c#·.net