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组件

相关推荐
cimeo2 小时前
【C 学习】06-算法&程序设计举例
c#
Brookty2 小时前
【Java学习】锁、线程死锁、线程安全2
java·开发语言·学习·java-ee
百锦再2 小时前
.NET 的 WebApi 项目必要可配置项都有哪些?
java·开发语言·c#·.net·core·net
HalvmånEver8 小时前
在 C++ :x86(32 位)和 x64(64 位)的不同
开发语言·c++·学习
艾伦~耶格尔12 小时前
【数据结构进阶】
java·开发语言·数据结构·学习·面试
WYH28712 小时前
C#控制台输入(Read()、ReadKey()和ReadLine())
开发语言·c#
Janspran12 小时前
嵌入式linux学习 -- 进程和线程
linux·运维·学习
hqwest14 小时前
C#WPF实战出真汁06--【系统设置】--餐桌类型设置
c#·.net·wpf·布局·分页·命令·viewmodel
rannn_11114 小时前
【Javaweb学习|黑马笔记|Day1】初识,入门网页,HTML-CSS|常见的标签和样式|标题排版和样式、正文排版和样式
css·后端·学习·html·javaweb
qq_5469372714 小时前
一款开源的远程桌面软件,旨在为用户提供流畅的游戏体验,支持 2K 分辨率、60 FPS,延迟仅为 40ms。
游戏