Unity 3D通过脚本控制音频音量、继续、暂停、停止播放;判断当前音乐是否播放;切换音乐;

这篇具有很好参考价值的文章主要介绍了Unity 3D通过脚本控制音频音量、继续、暂停、停止播放;判断当前音乐是否播放;切换音乐;。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


/// <summary>记录当前所选音乐</summary>
public int mu;
public AudioClip[] musics;//切歌   
void Start()

{
    am = GameObject.Find("MainCamera").GetComponent<AudioSource>();//初始化,找到  am,Audiolistener在Camera上
}
/// <summary>
/// 暂停音乐
/// </summary>
public void pausemusic()
{
    am.Pause();//停止正在播放的声音
}
/// <summary>
/// 继续播放am中的声音
/// </summary>
public void playmusic()
{
    am.Play();
}
/// <summary>
/// 停止播放音乐
/// </summary>
public void stopmusic()
{
    am.Stop();//停止正在播放的声音
}
/// <summary>
/// 调节音量
/// </summary>
/// <param name="v"></param>
public void changevoice(float v)
{
    am.volume = v;
}
/// <summary>
/// 切换音乐
/// </summary>
public void nextmusic()
{
    mu = (mu + 1) % 3;
    am.clip = musics[mu];
    am.Play();
    switch (mu)
    {
        case 0:
            {
                _Musicname.text = "第一首";
            }
            break;
        case 1:
            {
                _Musicname.text = "第二首";
            }
            break;
        case 2:
            {
                _Musicname.text = "第三首";
            }
            break;
        default:
            break;
    }
}
void Update()
{
    if (am.isPlaying)
    {
        Debug.Log("正在播放");
    }
    if (!am.isPlaying)
    {
        Debug.Log("没有播放")
    }
}

演示

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

重复播放音乐代码如下文章来源地址https://www.toymoban.com/news/detail-517420.html

am.loop = true;//循环播放音乐

到了这里,关于Unity 3D通过脚本控制音频音量、继续、暂停、停止播放;判断当前音乐是否播放;切换音乐;的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【C#】线程处理任务暂停与继续的控制方案

    一般用 Thread.Sleep(1000) 加循环判断 isLoop ,这个控制方式是太简简简单单单了,下面讲一个最好的方法,使用线程的挂起与唤醒 AutoResetEvent 这个类 在调用 WaitOne() 完成后会自动把参数设置为 false ,就是说,如果在某个线程中调用了 WaitOne() 方法,它就会一直堵塞下去 构造函数

    2024年02月06日
    浏览(58)
  • (18)线程的实例认识:线程的控制,暂停,继续,停止,线程相互控制,协作

          话不多,但比较中肯,本文参照c# 线程暂停继续的实现方式_哔哩哔哩_bilibili      1、这是一个老的实现方式,基本不推荐, 背后控制的原理需要了解。         界面:三个button一个textbox                           代码:         上面一直在异步线程中无限

    2024年02月10日
    浏览(41)
  • C#灵活控制多线程的状态(开始暂停继续取消)

    ManualResetEvent 是一个同步基元,用于在多线程环境中协调线程的执行。它提供了两种状态:终止状态和非终止状态。 在终止状态下, ManualResetEvent 允许线程继续执行。而在非终止状态下, ManualResetEvent 会阻塞线程,直到它的状态变为终止状态。 ManualResetEvent 类有以下几个常用

    2024年02月02日
    浏览(38)
  • Unity 关于声音(AudioSource)的播放、结束、暂停、继续、声音大小

            在Unity开发的过程中用到声音(AudioSource)实现一些声音的效果是比不可少的 接下来看看关于声音(AudioSource)的内容吧          截图的时候忘记了 那Volume是调节声音大小的0-1   0表示没有声音,1表示完全音量 (懒得再截图了) 声音(AudioSource)的播放、结

    2024年02月11日
    浏览(56)
  • C++_linux下_非阻塞键盘控制_程序暂停和继续

    在程序执行过程中,点击键盘p按键(pause), 程序暂停, 点击键盘上的n按键(next),程序继续执行 可以使用opencv中相关函数简单实现: 空格键暂停, 其它任意键继续: 参考: linux下实现键盘的无阻塞输入_fd_zero(rfds);-CSDN博客 拓展: 每隔1秒,for 循环执行一次: 参考: select()  fd_set 原理介绍

    2024年02月08日
    浏览(38)
  • Unity 3D游戏开发+脚本编程完整指南:Unity脚本概览-控制物体的运动

    教程相关资源 Unity 3D游戏开发+脚本编程完整指南(工程文件+PPT).zip Unity 脚本概览 脚本编写并不困难,但是如果直接从细节开始讲起,会让 读者难以看到脚本编程的全貌。因此本章不急于阐述脚本编写 的细节,只介绍简单的修改物体位置、处理用户输入和检测碰 撞的方法

    2024年02月21日
    浏览(75)
  • C++_linux下_非阻塞键盘控制_程序暂停和继续/for循环每隔2s执行一次

    在程序执行过程中,点击键盘p按键(pause), 程序暂停, 点击键盘上的n按键(next),程序继续执行 可以使用opencv中相关函数简单实现: 空格键暂停, 其它任意键继续: 参考: linux下实现键盘的无阻塞输入_fd_zero(rfds);-CSDN博客 拓展: 每隔1秒,for 循环执行一次: 参考: select()  fd_set 原理介绍

    2024年02月03日
    浏览(35)
  • Unity点击按钮实现音频暂停和播放

    省流:完整代码在底部 1、导入命名空间 2、创建变量 3、第一帧开始时调用 4、每帧调用 5、定义方法MusicSwitch 6、创建按钮添加脚本和音频播放器(Audio Source)组件,把按钮拖到脚本上 完整代码

    2024年02月04日
    浏览(48)
  • 【Unity3D日常开发】Unity3D中实现不同脚本之间的执行顺序控制

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好,我是佛系工程师 ☆恬静的小魔龙☆ ,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 首先,来了解一下事件函数的执行顺序,下图是官方给的脚本中事件函数的执行顺序: 众所周知,U

    2024年02月02日
    浏览(58)
  • unity通过脚本实现漫游功能 wasd控制玩家移动,空格跳跃,鼠标控制视野旋转,滑轮控制镜头伸缩

    将场景中的摄像机删除,在玩家的控制面板中添加Camera组件,和rigibody组件   using System.Collections; using System.Collections.Generic; using UnityEngine; public class move : MonoBehaviour {     public float speed;     Rigidbody rigid;     void Start()     {                 rigid = GetComponentRigidbody();     }  

    2024年02月10日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包