Unity C#如何获取当前音频剪辑文件名并去除后缀标识
解决Unity中AudioClip.ToString()带类名后缀的问题
直接使用AudioClip.name属性即可获取纯净的歌曲名称,替换原有代码:
currentSong.text = audioSource.clip.name;
如果因特殊场景无法直接调用name属性,也可以通过字符串截取的方式处理后缀:
string fullClipName = audioSource.clip.ToString(); int suffixIndex = fullClipName.IndexOf(" (UnityEngine.AudioClip)"); if (suffixIndex != -1) { currentSong.text = fullClipName.Substring(0, suffixIndex); } else { currentSong.text = fullClipName; // 兜底处理,避免格式异常导致显示错误 }
第一种方法是Unity官方推荐的最优解,name属性专门用于获取对象的名称标识,稳定性远高于依赖ToString()输出格式的截取方式。
内容的提问来源于stack exchange,提问作者Arthur Belkin
相关产品推荐
相关产品推荐

