Unity使用滑动条Slider控制AudioSource音量,音量不能及时改变的问题

这篇具有很好参考价值的文章主要介绍了Unity使用滑动条Slider控制AudioSource音量,音量不能及时改变的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

个人遇到的一个问题:

      滑动条Slider控制AudioSource音量,虽然音源大小确实和滑动条值同步改变,但是实际音量并未同步改变,只有当我关闭UI界面时,音量才会发生改变。

这个问题我试了好久没有解决,所以干脆换一种思路,通过滑动条控制AudioMixer控制音量大小

使用AudioMixer需要注意的地方:

1.需要右键暴露参数(Expose Parameters),并在音频混合器选项卡中右键重命名参数,以便在代码中调用

2.滑动条的最大值和最小值需要与AudioMixer中的值域匹配,值域如下图。

   我一般最小值设置为-20,最大值为20。(需要注意的是,这样就算滑动条拉到最小值也不会停止播放音乐,所以我加了一个判断语句和公共AudioSource变量,当滑动条拉到最小值时停止播放音乐)

Unity使用滑动条Slider控制AudioSource音量,音量不能及时改变的问题

 3.个人觉得拖动滑动条改变音量不用放在Update函数中,通过下图的值改变时调用方法就可

Unity使用滑动条Slider控制AudioSource音量,音量不能及时改变的问题

代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Audio;


public class volumeControl : MonoBehaviour
{
    public AudioSource BGM;
    public AudioMixer BGMMixer;
    public Slider VolumeControl;
    public Text VolunmePer;
 

    public void SetVolume()
    {
        BGMMixer.SetFloat("BGM",VolumeControl.value);//将变量BGM的值设置为滑动条的值
        var per = 100*((VolumeControl.value + 10) / 20);//因为这里滑动条最小值为-10,最大值为10,显示百分比时就用这个公式计算
        VolunmePer.text = per.ToString("f0") + "%";//保留整数部分,显示音量百分比

        if (per.ToString("f0") == "0") //若音量百分比为0就停止播放,否则继续
        {
            BGM.Pause();
        }
        else
        {
            BGM.UnPause();
        }
        Debug.Log("此时音量值为:" + per + "%");
    }
   
}
 文章来源地址https://www.toymoban.com/news/detail-423966.html

到了这里,关于Unity使用滑动条Slider控制AudioSource音量,音量不能及时改变的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity-UGUI控件全面解析】| Slider 滑动条组件详解

    🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN 🙉 🎄 学习专栏推荐:

    2024年02月12日
    浏览(49)
  • Unity 视频播放器,基于VideoPlayer,实现滑动进度条,显示视频时长,全屏显示,音量调节

    unity播放视频的方式有很多种,但即轻量又好用的,还是unity自带的VideoPlayer,但没有视频基础操作的UI组件,本篇带大家对视频的播放,以及UI组件的实现 效果展示: Unity带UI操作,视频播放器   DEMO下载: https://gitee.com/jacobkay/videoplayer 一、安装方式 1、下载文件 2、将文件拖

    2024年02月02日
    浏览(53)
  • Unity 控制最终输出音量

    可以控制Unity最终输出的音量大小

    2024年02月12日
    浏览(56)
  • Unity 3D通过脚本控制音频音量、继续、暂停、停止播放;判断当前音乐是否播放;切换音乐;

    演示 在HideInInspector中将三首音乐拖到音乐组中,自定义音乐数量也可以,需要修改代码中切换音乐函数中的部分内容。调用脚本中的函数即可实现对应功能。 重复播放音乐代码如下

    2024年02月12日
    浏览(56)
  • Android Jetpack Compose — Slider滑动条

            在Android Jetpack Compose中,Slider(滑动条)是一个常用的用户界面控件,它允许通过滑动条来选择一个范围或数值。Slider控件非常适用于调整音量、亮度、进度等需要连续调整的场景。 一、Slider的属性         Slider是Android Jetpack Compose中的一个控件,用于实现滑动条

    2024年02月11日
    浏览(48)
  • Android 滑动条、Slider、Seekbar深度自定义

    为了更好的满足日常开发中对Slider控件的各种需要,以下我们来看下基于nifty-slider来定制我们所需的各种功能及交互效果 支持滑动条起始值结束值的自定义 支持滑动条指定步长以实现类似刻度的功能 支持对滑块的自定义以添加光环效果、滑块形状,滑块投影、滑块边框、滑

    2024年02月12日
    浏览(42)
  • WPF中有中心点的slider滑动条

    想要实现的效果 原生滑动条 需要认识一下滑动条的组成 在原生控件中生成“资源字典”对应的样式 然后在track所在的列进行添砖加瓦 由于track在row=\\\"1\\\"的位置,只需要在这个位置上面添加一个Ellipse和Line Ellipse是来描述固定在滑动条上的中心点的位置 line是来描述Thumb从中心点

    2024年02月08日
    浏览(49)
  • WPF 在ScrollViewer控件内部的Slider控件无法触摸滑动

    WPF中在ScrollViewer控件内部的Slider控件无法触摸滑动,是由于ScrollViewer控件默认设置了IsManipulationEnabled为True。 WPF ScrollViewer的IsManipulationEnabled属性是用来控制触摸手势操作的开关。当这个属性设置为true时,用户可以使用触摸手势(如滑动、缩放)来操作控件,而当设置为false时,

    2024年02月15日
    浏览(63)
  • Win11使用键盘控制音量大小的方法分享

    Win11使用键盘控制音量大小的方法分享。今天来教大家怎么设置自己的键盘来进行音量的控制。因为有的时候,我们在游戏或者其他操作的时候,需要快捷的去进行音量的大小改变,通过键盘切换的方法非常方便,可以随时快速的去调整音量的大小。那么如何去操作,接下来

    2024年02月09日
    浏览(44)
  • 基于element-ui el-slider实现滑动限位器

    应需求需要,要做一个滑动限位器,一通百度,一通谷歌,没有相对应的解决方案,所以只能自己上。过程有丢丢曲折,比较细的东西。所以耗时也长写。写出来有需要的可以参考 需求图如下: 上面的滑块是可以在区间【50-100】之间随意切换的。左边和右边也是可以随意拉

    2024年02月15日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包