热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

时长unity_unity踩过的音频坑

支持格式官方说支持aif,wav,ogg,mp3,少就少吧,这些格式还并非全平台通用,放个mp3,windows,mac平台

支持格式

官方说支持aif, wav, ogg, mp3,少就少吧,这些格式还并非全平台通用,放个mp3,windows,mac平台会告诉你说不支持

d57604842a7b9715a4f45bd4ebb43989.png

在build settings中修改成android后没问题了,ios没试过。

麻烦的读取

对于音频的读取需要手动指定,完全是坑爹的操作,react native, flutter哪个不是直接拿来用就成了?你得指定用哪种格式来读取。

06c3cf2621b77f1e1916908f01c9b9a7.png

上面这个错误是因为我读取参数忘记改了,一读ogg就出错。

using (var uwr = UnityWebRequestMultimedia.GetAudioClip(path, AudioType.MPEG)){...

应该写成AudioType.OGGVORBIS,搞笑的AudioType里面有ACC,然后看注释:

//// 摘要:// Type of the imported(native) data.public enum AudioType{//// 摘要:// 3rd party / unknown plugin format.UNKNOWN = 0,//// 摘要:// Acc - not supported.ACC = 1,

ACC不支持,让我有种 某天回家老婆开心的对我说:老公,咱中500万大奖了,然后再加句:逗你玩 的感觉。

本地、远程表现不一致

使用本地asset中的声音来播放,完全没毛病,遇到网络下载时播放,有可能声音会不完整((wtf)),一开始还以为是自己的程序有毛病,后来发现播放CBR格式mp3是OK的。 解决办法:将mp3转换成CBR,固定码率。建议使用lame来进行转换,ffmpeg转换CBR并不方便,试了很多次,默认转换后的mp3都是VBR格式的(动态码率)。(这样说来其实mp3音频还是CBR的兼容性最好。) 另:发现ffmpeg中码率不一致的大概率出毛病,比如:

Input #0, mp3, from 'a duck swimming in the sink1.mp3':Metadata:encoder : Lavf58.37.100Duration: 00:00:01.73, start: 0.069063, bitrate: 33 kb/sStream #0:0: Audio: mp3, 16000 Hz, mono, fltp, 32 kb/s

duration中的bitrate与stream中的并不一致,这样的文件在unity网络播放时就会出毛病,使用mediainfo时显示信息如下:

格式 : MPEG Audio
格式版本 : Version 2
格式配置 (Profile) : Layer 3
时长 : 1 秒 728 毫秒
码率模式 : 动态码率 (VBR)
码率 : 32.0 kb/s
声道数 : 1 声道
采样率 : 16.0 kHz
帧率 : 27.778 FPS (576 SPF)
压缩模式 : 有损
流大小 : 6.75 KiB (97%)
编码函数库 : LAME3.100

本文由博客群发一文多发等运营工具平台 OpenWrite 发布




推荐阅读
  • Flutter 2.* 路由管理详解
    本文详细介绍了 Flutter 2.* 中的路由管理机制,包括路由的基本概念、MaterialPageRoute 的使用、Navigator 的操作方法、路由传值、命名路由及其注册、路由钩子等。 ... [详细]
  • 解决Only fullscreen opaque activities can request orientation错误的方法
    本文介绍了在使用PictureSelectorLight第三方框架时遇到的Only fullscreen opaque activities can request orientation错误,并提供了一种有效的解决方案。 ... [详细]
  • 本文详细介绍了在 React Native 开发过程中遇到的 'Could not connect to development server' 错误及其解决方法。该问题不仅影响开发效率,而且难以通过网络资源找到确切的解决方案。本文将提供详细的步骤,帮助开发者快速解决这一常见问题。 ... [详细]
  • feat: Enhances Jest Testing Capabilities with Snapshot Support ... [详细]
  • 在分析和解决 Keepalived VIP 漂移故障的过程中,我们发现主备节点配置如下:主节点 IP 为 172.16.30.31,备份节点 IP 为 172.16.30.32,虚拟 IP 为 172.16.30.10。故障表现为监控系统显示 Keepalived 主节点状态异常,导致 VIP 漂移到备份节点。通过详细检查配置文件和日志,我们发现主节点上的 Keepalived 进程未能正常运行,最终通过优化配置和重启服务解决了该问题。此外,我们还增加了健康检查机制,以提高系统的稳定性和可靠性。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • 今天我开始学习Flutter,并在Android Studio 3.5.3中创建了一个新的Flutter项目。然而,在首次尝试运行时遇到了问题,Gradle任务 `assembleDebug` 执行失败,退出状态码为1。经过初步排查,发现可能是由于依赖项配置不当或Gradle版本不兼容导致的。为了解决这个问题,我计划检查项目的 `build.gradle` 文件,确保所有依赖项和插件版本都符合要求,并尝试更新Gradle版本。此外,还将验证环境变量配置是否正确,以确保开发环境的稳定性。 ... [详细]
  • Spring Boot 中配置全局文件上传路径并实现文件上传功能
    本文介绍如何在 Spring Boot 项目中配置全局文件上传路径,并通过读取配置项实现文件上传功能。通过这种方式,可以更好地管理和维护文件路径。 ... [详细]
  • importpymysql#一、直接连接mysql数据库'''coonpymysql.connect(host'192.168.*.*',u ... [详细]
  • 深入解析 Lifecycle 的实现原理
    本文将详细介绍 Android Jetpack 中 Lifecycle 组件的实现原理,帮助开发者更好地理解和使用 Lifecycle,避免常见的内存泄漏问题。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • 如何使用ES6语法编写Webpack配置文件? ... [详细]
  • 深入解析:React与Webpack配置进阶指南(第二部分)
    在本篇进阶指南的第二部分中,我们将继续探讨 React 与 Webpack 的高级配置技巧。通过实际案例,我们将展示如何使用 React 和 Webpack 构建一个简单的 Todo 应用程序,具体包括 `TodoApp.js` 文件中的代码实现,如导入 React 和自定义组件 `TodoList`。此外,我们还将深入讲解 Webpack 配置文件的优化方法,以提升开发效率和应用性能。 ... [详细]
  • 在深入研究 React 项目的过程中,特别是在探索 react-router 源码时,我发现了其中蕴含的中间件概念。这激发了我对中间件的进一步思考与整理。本文将详细探讨 Redux 中间件的原理及其在实际项目中的应用,帮助读者更好地理解和使用这一强大工具。通过具体示例和代码解析,我们将揭示中间件如何提升应用的状态管理和异步操作处理能力。 ... [详细]
author-avatar
伤心脑残猪_940
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有