Unity使用Fmod的线程安全大坑!

对EventInstance设置回调函数时,回调函数内不能调用协程。否则会秒崩溃,并且不带任何报错!
协程在主线程中执行,但是事件回调是异步在音频线程中执行的

Event Callbacks

某些 EVENT_CALLBACK_TYPE 回调会在音频线程中执行,比如 SOUND_STOPPED 和 CREATE_PROGRAMMER_SOUND。
处理这些回调时,不应直接进行涉及Unity主线程的操作,如修改Unity对象、启动协程等。

DSP Callbacks:

DSP处理器的回调会在音频线程中执行,比如DSP的 read 和 process 回调。
在这些回调中,通常只应进行低延迟的音频处理操作。

二编

这个函数不要碰,我已经把协程转移到了Update,又在操作任务队列的时候加了线程锁,仍然会崩溃。

  • 错误代码示例:
/// <summary>/// 播放完函数的回调/// </summary>private RESULT EventCallback(EVENT_CALLBACK_TYPE type, IntPtr _event, IntPtr parameters){if (type == EVENT_CALLBACK_TYPE.SOUND_STOPPED){lock(taskQueue){EventInstance instance = new EventInstance(_event);//我真无语了这音乐为什么要换这么恶心的破插件activeEventInstances.Remove(instance);instance.release();taskQueue.Enqueue(() => StartCoroutine(SlowRiseLowerPrioritySFX()));}}return RESULT.OK;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/36054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Axure 教程 | 雅虎新闻焦点

主要内容 在雅虎首页&#xff0c;新闻焦点大图和焦点小图同步切换轮播&#xff0c;本课程我们来学习如何实现这个效果。 交互说明 1.页面载入后&#xff0c;切换当前屏幕显示的5张焦点图&#xff0c;小图标处以横线提示当前焦点图。 2.鼠标移入焦点大图&#xff0c;新闻标题显示…

水平拆分的技巧

水平拆分的原则和技巧 水平拆分是一种常见的数据库优化手段&#xff0c;它涉及到将一个大型表根据特定的字段值拆分成多个较小的表。这种做法可以有效地提高查询效率&#xff0c;尤其是在处理大量数据时。以下是一些关于如何根据业务设计字段进行水平拆分的建议&#xff1a; …

马斯克的SpaceX星舰有多牛?我们离殖民火星还有多远?

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 埃隆马斯克是一位知名的企业家和工程师&#xff0c;他掌握着多家公司&#xff0c;涉及多个领域&#xff0c;包括电动汽车、太空探索、太阳能、脑…

Charles 证书迁移/复制,实现手机安装一次证书可以连接多个设备的 charles 效果

如果你希望在一个手机上安装一次证书&#xff0c;但是使用这个手机可能在不同的时候去连接你自己安装了Charles的不同设备。比如你在公司有有一个电脑&#xff0c;你在家里也有一个电脑&#xff0c;甚至还有一个笔记本等。 如果想实现只给手机安装一次证书&#xff0c;就可以都…

告别数据线!轻松实现iOS和安卓设备间的文件共享

用 AirDroid 的附近传输功能&#xff0c;完全免费&#xff0c;几十个G的文件也可以相互传输。不限制iPhone和iPad数量&#xff0c;多个设备同时登录也不会强迫下线。 当你要在苹果手机和安卓手机之间传输文件&#xff0c;请将AirDroid安装到两台手机上&#xff0c;然后登录同一…

从零开始:STM32与W25Q64 Flash存储器的SPI接口全解析

摘要 本文将从基础出发&#xff0c;全面解析STM32微控制器与W25Q64 Flash存储器通过SPI接口的通信。内容包括SPI基础知识、W25Q64特性、硬件连接、SPI接口配置、读写操作及实际代码示例。 1. SPI通信基础 SPI是一种串行通信协议&#xff0c;主要特点包括&#xff1a; 同步通…

2008-2022年 上市公司-环境绩效数据(EP)

环境绩效&#xff08;Environmental Performance&#xff0c;简称EP&#xff09;是衡量组织在环境管理方面成效的重要指标&#xff0c;它体现了组织如何通过有效的环境管理体系来控制环境因素&#xff0c;实现环境方针和目标。以下是对上市公司环境绩效数据的详细介绍&#xff…

图的拓扑排序

图的拓扑排序&#xff08;Topological Sorting&#xff09;是一种线性排序&#xff0c;用于有向无环图&#xff08;Directed Acyclic Graph&#xff0c;DAG&#xff09;。拓扑排序将图中的顶点排成一个线性序列&#xff0c;使得对于每一条有向边 (u, v)&#xff0c;顶点 u 都排…

安全继电器的使用和工作原理

安全继电器的使用和工作原理 安全继电器是一种用于保护人员和设备安全的电气装置&#xff0c;通常用于监控和控制危险或紧急情况下的电气系统。它的主要作用是在检测到故障或危险情况时迅速切断电路&#xff0c;以防止潜在的伤害或损坏。使用 安全继电器通常用于以下情况&…

[AI开发配环境]VSCode远程连接ssh服务器

文章目录 总览&#xff1a;ssh连接远程服务器连接免密登录&#xff1a;Docker&#xff1a;ssh连接远程宿主机后&#xff0c;进一步连接并使用其中的docker容器reload window 配置解释器&#xff1a;CtrlP&#xff0c;在上面输入“>python”, 然后选selecet interpreter运行命…

Ubuntu磁盘分区和挂载 虚拟机扩容 逻辑卷的创建和扩容保姆及教程

目录 1、VMware虚拟机Ubuntu20.04系统磁盘扩容 2、Linux的磁盘分区和挂载 3、创建逻辑卷和逻辑卷的扩容 1、VMware虚拟机Ubuntu20.04系统磁盘扩容 通过下图可以看出我们的根磁盘一共有20G的大小&#xff0c;现在我们把它扩容为30G 注&#xff1a;如果你的虚拟机有快照是无…

Python高级编程:自然语言处理基础

Python高级编程:自然语言处理基础 在前几篇文章中,我们探讨了Python的基础语法、面向对象编程、标准库、第三方库、并发编程、异步编程、网络编程与网络爬虫、数据库操作与ORM、数据分析与数据可视化、机器学习基础以及深度学习基础。在这篇文章中,我们将深入探讨Python在自…

使用不同环境的配置文件active profile

在 IntelliJ IDEA 的 Run/Debug Configurations 中&#xff0c;Active profiles 选项通常用于与 Spring Boot 应用程序相关的配置。这是 Spring Boot 特有的一个用来管理不同环境配置的特性&#xff0c;通常用来在开发&#xff08;dev&#xff09;、测试&#xff08;test&#…

Springboot基于Redis的高性能分布式缓存数据库的实现与实例

一、引言 在现代的分布式系统和高并发应用中&#xff0c;缓存机制显得尤为重要。Redis作为一种开源&#xff08;BSD许可&#xff09;的内存键值存储&#xff0c;因其高性能、丰富的数据结构和多样化的应用场景&#xff0c;成为开发者们的首选。在这篇博客中&#xff0c;我们将…

CV每日论文--2024.6.26

1、StableNormal: Reducing Diffusion Variance for Stable and Sharp Normal 中文标题&#xff1a;StableNormal&#xff1a;减少扩散方差以实现稳定且锐利的法线 简介&#xff1a;本文介绍了一种创新解决方案&#xff0c;旨在优化单目彩色输入&#xff08;包括静态图片与动态…

最新自助下单彩虹云商城系统源码,含小储云商城模板免授权

最新彩虹商城源码,含小储云商城模板免授权&#xff0c;试用了一下还行&#xff0c;具体的大家可以看看 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/89405387 更多资源下载&#xff1a;关注我。

通过混合栅极技术改善p-GaN功率HEMTs的ESD性能

来源&#xff1a;Improved Gate ESD Behaviors of p-GaN PowerHEMTs by Hybrid Gate Technology&#xff08;ISPSD 24年&#xff09; 摘要 本工作中&#xff0c;首次证明了混合栅极技术在不增加额外面积和寄生效应的前提下&#xff0c;能有效提升p-GaN HEMTs的栅极静电放电(E…

2024广东省职业技能大赛云计算赛项实战——构建CICD

构建CI/CD 前言 题目如下&#xff1a; 构建CI/CD 编写流水线脚本.gitlab-ci.yml触发自动构建&#xff0c;具体要求如下&#xff1a; &#xff08;1&#xff09;基于镜像maven:3.6-jdk-8构建项目的drone分支&#xff1b; &#xff08;2&#xff09;构建镜像的名称&#xff1a…

浅浅谈谈如何利用Javase+多线程+计算机网络的知识做一个爬CSDN阅读量总访问量的程序

目录 我们发现csdn的文章 首先为了印证我们的想法 我们用postman往csdn我们任意一篇文章发起post请求 发送请求 ​编辑获得响应结果 我们发现我们的阅读量上涨 PostRequestSender类 但是我们经过测试发现 定义一个字符串数组 把URL放进去 然后延迟启动 在线程池里面…

SaaS架构Client/Server应用的实验室LIS系统源码,服务可拆分,功能易扩展

LIS系统&#xff0c;即实验室&#xff08;检验科&#xff09;信息系统&#xff0c;它是医院信息管理的重要组成部分之一&#xff0c;LIS系统采用了智能辅助功能来处理大信息量的检验工作&#xff0c;即LIS系统不仅是自动接收检验数据&#xff0c;打印检验报告&#xff0c;系统保…