为Timeline动态添加AudioSource音频
记录一下为Timeline脚本添加AudioSource过程
文章目录
- 一、准备
- 二、外部调用
一、准备
MP3转wav,转换器
准备好音轨文件
二、外部调用
var newclip = track.CreateClip< PPCClip >();
AudioSource resource = GameObject.Find(addName.text).GetComponent< AudioSource >();
(newclip.asset as PPCClip).AudioSource.defaultValue = resource;
public InputField addNum; //添加音轨位置public InputField addName; //添加音轨名称private PlayableDirector playableDirector;private readonly Dictionary<string, PlayableBinding> bindingDict = new Dictionary<string, PlayableBinding>();// Start is called before the first frame updatepublic void ClickButton(){playableDirector = GetComponent<PlayableDirector>();//开始的时候,储存所有轨道信息,轨道名称作为key,Track作为value,用于动态设置foreach (var bind in playableDirector.playableAsset.outputs){if (!bindingDict.ContainsKey(bind.streamName)){bindingDict.Add(bind.streamName, bind);}if (bind.streamName.Contains("PPC Track")){var PPC = bind;var track = PPC.sourceObject as TrackAsset;int i = 1;double preend = 0;foreach (var clip in track.GetClips()){var audioClip = clip.asset as AudioSource;//track.CreateClip<PPCClip>();preend = clip.end;i++;}var newclip = track.CreateClip<PPCClip>();AudioSource resource = GameObject.Find(addName.text).GetComponent<AudioSource>();newclip.displayName = addName.text;newclip.start = preend + 5;newclip.duration = resource.clip.length;(newclip.asset as PPCClip).AudioSource.defaultValue = resource;i = 1;preend = 0;double recordlen = 0;foreach (var clip in track.GetClips()){var audioClip = clip.asset as AudioSource;//track.CreateClip<PPCClip>();if (clip.displayName.Equals(addName.text)) break;if (i - 1 == int.Parse(addNum.text)){clip.start += 10 + newclip.duration;recordlen = 10 + newclip.duration;newclip.start = preend + 10;Debug.Log("Success add audio: " + newclip.displayName);}if (i - 1 > int.Parse(addNum.text)){clip.start += recordlen;}preend = clip.end;i++;}}}}
参考:
https://blog.csdn.net/jennyhigh/article/details/100104112
为Timeline动态添加AudioSource音频相关推荐
- 【Unity3D】Unity 组件 ③ ( 为物体添加 AudioSource 组件 | 添加 AudioSource 组件 | 导入音频文件 | 为组件设置音频 | Transform 变换组件 )
文章目录 一.为物体添加 AudioSource 组件 1.AudioSource 组件简介 2.创建物体 3.添加 AudioSource 组件 4.导入音频文件资源 5.为 AudioSource ...
- OpenLayers 动态添加标记(Marker)和信息窗(Popup)
方式一:使用marker方式 1.在地图上添加标记图层 var markers =newOpenLayers.Layer.Markers("Markers"); map.addLa ...
- 【Runtime】动态添加方法demo
今天写一个小demo来演示下runtime的消息转发和动态添加方法. 一般项目中都会有保存当前登录用户资料的需求,我们可以直接将登录成功后的用户信息分别保存到NSUserDefaults中: [def ...
- 安卓java代码标签_Android实现动态添加标签及其点击事件
在做Android开发的时候,会遇到动态添加标签让用户选择的功能,所以自己写了个例子,运行效果图如下. 标签可以左右滑动进行选择,点击的时候,会弹出toast提示选择或者取消选择了哪个标签.通过动态添 ...
- Quartz动态添加、修改和删除定时任务
2019独角兽企业重金招聘Python工程师标准>>> Quartz动态添加.修改和删除定时任务 转载于:https://my.oschina.net/haokevin/blog/1 ...
- 一种无需留坑为页面动态添加View方案
在Activity或Fragment页面动态添加View,有其应用场景,比如配合运营在首页动态插入H5活动页(如下图手淘的雪花例示[1]),在页面头部插入通知View等.本文结合ActivityLif ...
- WCF动态添加ServiceKnownType
WCF中传输自定义类型时,必须在服务接口类(服务协定)上加上ServiceKnownType(typeof(yourClass)), 在实际应用中比较麻烦,可以用动态的办法来实现动态添加. 服务接口类 ...
- jsp ajax动态添加数据,jquery Ajax实现Select动态添加数据
jquery Ajax实现Select动态添加数据,具体内容如下 1.背景 最近在工作中,遇到了一个关于select的问题.一般情况下,select下拉框中的数据都是固定的或者直接在jsp中读取列表值 ...
- Dojo学习13 dijit.Tree 动态添加节点之一
为什么80%的码农都做不了架构师?>>> 13. dijit.Tree 动态添加节点之一 对dijit.Tree研究了很久,源代码也看了好多遍了.对于fx这个类的研究还需要更深 ...
最新文章
- 陕西师范大学计算机专业录取,陕西师范大学计算机类专业2016年在山西理科高考录取最低分数线...
- JAVA程序员已成为最疯狂的加班行业,没有之一?
- 草稿 datagridview的显示与修改
- Android ADB命令?这一次我再也不死记了!【简单说】
- Linux_防火墙入门01:以太网的诞生与演变历程
- java 留言板_java web实现简单留言板功能
- node2vec python_Node2vec和networkx
- 秒懂VRRP协议原理及配置
- 计算机基础知识面试题集合(包含计网OSI、TCP/IP、HTTP、TCP、UDP、三次握手、四次挥手、OS进程线程、死锁,常见数据结构及排序,Linux常用命令、数据库基础等。)
- 十四首中国现代诗巅峰之作
- wifi路由器如何连接无线网络连接服务器,wifi路由器的使用方法 | 192路由网
- 生命以负熵为生:Web3行业2022年之怪现象
- SRP Batcher:提升您的渲染性能
- laravel集合函数-pluck()
- 康托展开与逆康托展开详解
- iOS进阶 - pod install 与 pod update 读这一篇就够了
- ardupilot 加速度计六面校准
- ASP.NET Core WEB部署:Kestrel
- 利用微信小程序API获取所在位置周围的WIFI信息
- 来自CSDN阿坤使用CSDN插件的简单测评意见
热门文章
- GATK BaseRecalibrator报错”The contig order in dbsnp_138.hg38.vcf and reference is not the same“
- nvme固态必须uefi启动吗_【Ubuntu】UEFI安装Windows 10和Ubuntu 18.04双系统(深度爬坑)...
- win10创建虚拟wift
- 物联网 WIFI 一键配置原理(smartconfig) ESP8266/QCA4004
- Oracle数据库管理员认证三大认证的区别和意义
- TiDB-最小实践 Cluster111
- 深度计算5大挑战 探索生命的奥秘
- Visual Studio2019下载安装及问题解决
- world计算机恢复出厂设置,Word怎么恢复默认设置? Word恢复默认设置的四种方法
- C#中的数据字典Dictionary