记录一下为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音频相关推荐

  1. 【Unity3D】Unity 组件 ③ ( 为物体添加 AudioSource 组件 | 添加 AudioSource 组件 | 导入音频文件 | 为组件设置音频 | Transform 变换组件 )

    文章目录 一.为物体添加 AudioSource 组件 1.AudioSource 组件简介 2.创建物体 3.添加 AudioSource 组件 4.导入音频文件资源 5.为 AudioSource ...

  2. OpenLayers 动态添加标记(Marker)和信息窗(Popup)

    方式一:使用marker方式 1.在地图上添加标记图层 var markers =newOpenLayers.Layer.Markers("Markers"); map.addLa ...

  3. 【Runtime】动态添加方法demo

    今天写一个小demo来演示下runtime的消息转发和动态添加方法. 一般项目中都会有保存当前登录用户资料的需求,我们可以直接将登录成功后的用户信息分别保存到NSUserDefaults中: [def ...

  4. 安卓java代码标签_Android实现动态添加标签及其点击事件

    在做Android开发的时候,会遇到动态添加标签让用户选择的功能,所以自己写了个例子,运行效果图如下. 标签可以左右滑动进行选择,点击的时候,会弹出toast提示选择或者取消选择了哪个标签.通过动态添 ...

  5. Quartz动态添加、修改和删除定时任务

    2019独角兽企业重金招聘Python工程师标准>>> Quartz动态添加.修改和删除定时任务 转载于:https://my.oschina.net/haokevin/blog/1 ...

  6. 一种无需留坑为页面动态添加View方案

    在Activity或Fragment页面动态添加View,有其应用场景,比如配合运营在首页动态插入H5活动页(如下图手淘的雪花例示[1]),在页面头部插入通知View等.本文结合ActivityLif ...

  7. WCF动态添加ServiceKnownType

    WCF中传输自定义类型时,必须在服务接口类(服务协定)上加上ServiceKnownType(typeof(yourClass)), 在实际应用中比较麻烦,可以用动态的办法来实现动态添加. 服务接口类 ...

  8. jsp ajax动态添加数据,jquery Ajax实现Select动态添加数据

    jquery Ajax实现Select动态添加数据,具体内容如下 1.背景 最近在工作中,遇到了一个关于select的问题.一般情况下,select下拉框中的数据都是固定的或者直接在jsp中读取列表值 ...

  9. Dojo学习13 dijit.Tree 动态添加节点之一

    为什么80%的码农都做不了架构师?>>>    13. dijit.Tree 动态添加节点之一 对dijit.Tree研究了很久,源代码也看了好多遍了.对于fx这个类的研究还需要更深 ...

最新文章

  1. Firefox 65.0.2 发布,Firefox 66 预计3月19日推出
  2. 网易智慧企业春招开幕:同心战疫,共盼花开
  3. 大四中软实习笔记201303011文件
  4. 怎么监听Android软键盘的打开和关闭
  5. Spring的三大核心接口——BeanFactory、ApplicationContext、WebApplicationContext
  6. 浏览器css透明属性opacity
  7. VB计算圆周率(二)
  8. 2019年9月全国程序员工资统计,你处于什么位置?
  9. c# 获取路径的盘符_C# IO操作之 如何玩转路径
  10. 风控建模基础笔记(一)
  11. 如何编写一个好的软件设计文档——Medium中文站
  12. 图像处理:根据像素坐标及像素尺寸大小裁剪遥感影像
  13. SRE 到底是干什么的??
  14. 【FI-AP】预付定金处理(Down payment)
  15. 意外的计算机音乐,富有灵魂的音乐 Realwav SVEN 意外发烧
  16. FI MM CO T-CODE
  17. 蓝天保卫战之产品测试服务
  18. 【转】jquery $.fn $.fx是什么意思
  19. 高德地图怎么画圈_点标记-覆盖物-教程-地图 JS API | 高德地图API
  20. 20. [Python GUI] PyQt5中的模型与视图框架-实现一个简单的文件浏览器的例子

热门文章

  1. 【转载】特殊符号大全2016v2
  2. OpenstackSDK 源码详解
  3. Leetcode 96. 不同的二叉搜索树
  4. 这是专门为测试人员准备的书单集赞有礼
  5. 通过url把多个html合并,Web多链接合并模式
  6. 高中数学选择题压轴题
  7. Unity的几种移动和旋转方法
  8. [CSP-S2020] 儒略日 解题报告
  9. 2022-2028全球湿磨机市场现状及未来发展趋势
  10. 第三章 裸机_第一个裸机程序(上)