Unity实现音乐播放器

一个简单的音乐播放器


      Unity3D支持mp3、wav、ogg等多种音频格式。要让游戏的声音生效,必须要有音源和接收器两个组件,一个负责播放声音,另一个负责接收。对于3D声音来说,若音源和接收器的位置发生变化,听到的声音也会随之改变。

音源

      AudioSource组件是一个音源组件。在场景中依次点击GameObject —> CreateEmpty,创建一个空的游戏对象,并给它添加AudioSource组件(通过依次点击Component —> Audio —> Audio Source来实现)。然后将声音文件导入项目中,并赋予AudioSource组件的AudioClip属性(见下图),设置要播放的音乐片段。
在这里插入图片描述
     可以看到,Audio Source有很多属性,下面对该些属性进行一个说明:

属性说明
AudioClip     要播放的声音片段
Mute     是否静音
Bypass Effects     是否打开音频特效
Play On Awake     是否自动播放
Loop     是否循环播放
Volume     声音大小,取值范围0.0到1.0
Pitch     播放速度,取值范围在-3到3之间。设置1为正常播放,小于1为减慢播放大于1为加速播放

接收器

      Audio Listener组件即接收器组件。相机默认带有该组件,见下图:
在这里插入图片描述

简单播放器

      该简单播放器只有“开始”和“停止”两个按钮。

  • 首先,创建名为SoundPlayer的脚本,在此脚本的OnGUI方法里通过GetComponent获取音源组件audio
  • 然后,用代码在屏幕上绘制“开始”和“停止”两个按钮,并调用audio.Play()和audio.Stop()实现声音的播放和停止
  • 代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SoundPlayer : MonoBehaviour 
{
   void OnGUI()
   {
       AudioSource audio = GetComponent<AudioSource>();
       if (GUI.Button(new Rect(0, 0, 100, 50), "开始"))
           audio.Play();
       if (GUI.Button(new Rect(100, 0, 100, 50), "停止"))
           audio.Stop();
   }
}

      最后,运行游戏,得到的界面如下,按下开始就开始播放音乐,按下停止就停止音乐。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值