播放音频----AudioSource,Audio Listener 组件属性及其使用

 

AudioSource组件

AudioSource是音频源组件,其作用就是用于播放音频剪辑(AudioClip)资源。

组件属性:

(1)AudioClip(音频剪辑):指定播放的音频文件。我们导入到 Unity 中的所有声音文件,在Unity 引擎中的资源类型都是 AudioClip 类型。Unity 能使用的音频格式: .aif   .wav   .mp3   .ogg   。

(2)Output(音频输出):可以输出到音频监听器(AudioListener)或者(AudioMixer)。当设置为空时,即代表输出到                   AudioListener,而设置到AudioMixer时需要指定具体的AudioMixer。

(3)Mute(是否静音):主要是针对游戏中的音效,优势在于不会卸载声音数据,可以做到及时播放,音效一般比较多、占用内存小,使用静音可以让画面快速响应,且可以立刻恢复当前音效。

(4)Bypass Effects(音源滤波开关):作用在当前音源的音频滤波器的开关。

(5)Bypass Listener Effects(监听器滤波开关):作用在当前监听器的音频滤波器的开关。

(6)Bypass Reverb Zones(回音混淆开关):勾选不执行回音混淆的效果。

(7)Play On Awake(启动播放开关):勾选就会在绑定组件的GameObject加载并启用时立刻播放音频。

(8)Loop(循环播放开关):音频播放结束自动循环。

(9)Priority(播放优先级):决定音源在场景中存在的所有音源中的播放优先级。

(10)Volume(音量):调节音量的大小。

(11)Pitch(音调):播放音频时速度的变化量 ,默认值1,表示正常的播放速度。(当<1时,慢速播放;当>1时,快速播放。速度越快,音调越高。)

(12)Stereo Pan(声道占比)

(13)Spatial Blend(空间混合):指定音源是2D音源(0)、3D音源(1)或者是二者插值的复合音源。

(14)Reverb Zone Mix(回音混合)

(15)3D Sound Settings(3D音频设置)

 

Audio Source 常用函数:

  • Play() 函数
    • 播放音频剪辑。
  • Stop() 函数
    • 停止播放。
  • Pause() 函数
    • 暂停播放。

 

Audio Listener 组件:

  • Audio Listener:声音侦听器,即我们在游戏世界中的 “耳朵”。
  • 我们依靠该组件听游戏中的声音,如果没有这个组件,我们是听不到任何声音的。
  • 默认状态这个组件挂载在摄像机身上。

 

 

AudioSource使用案例:

为场景中的一个对象添加 AudioSource组件。

将音频文件拖动到 Audio Clip 中。

新建 C# 文件,并将其添加到该物体对象上。 C#文件内容如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SoundCancel : MonoBehaviour
{
    AudioSource audioS;
    // Start is called before the first frame update
    void Start()
    {
        audioS  = this.GetComponent <AudioSource>();
    }

    // Update is called once per frame
    void Update()
    {
        if(Input.GetKeyDown(KeyCode.P))
        {
            audioS.Play();
        }
        if (Input.GetKeyDown(KeyCode.O))
        {
            audioS.Stop();
        }

    }
}

运行项目,音频文件播放,当按下 “O” 键,播放停止;按下 “P” 键,音频再次播放。

 

 

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是 okhttp-eventsource使用示例: 1. 添加依赖 在项目的 build.gradle 文件中添加以下依赖: ```groovy implementation 'com.squareup.okhttp3:okhttp:版本号' implementation 'com.github.morihacky:okhttp-eventsource:版本号' ``` 2. 创建 EventSource ```java OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://example.com/events") .build(); EventSource eventSource = new EventSource.Builder(callback, request) .build(); ``` 3. 实现回调 ```java EventSource.Listener callback = new EventSource.Listener() { @Override public void onOpen(EventSource eventSource, Response response) { // 连接成功 } @Override public void onMessage(EventSource eventSource, String id, String type, String data) { // 处理消息 } @Override public void onComment(EventSource eventSource, String comment) { // 处理注释 } @Override public boolean onRetryTime(EventSource eventSource, long milliseconds) { // 确定是否重新连接 return true; } @Override public boolean onRetryError(EventSource eventSource, Throwable throwable, Response response) { // 确定是否重新连接 return true; } @Override public void onClosed(EventSource eventSource) { // 连接关闭 } @Override public void onFailure(EventSource eventSource, Throwable t, Response response) { // 连接失败 } }; ``` 4. 连接和关闭 ```java // 连接 eventSource.start(); // 关闭 eventSource.close(); ``` 以上就是 okhttp-eventsource使用示例。通过这个库,你可以轻松地实现 SSE(Server-Sent Events)协议,从服务器实时接收信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值