codenameone - 使用 captureAudio() 时的音频格式
问题描述
使用我的应用程序,用户可以捕获音频,将其导出并在网页上播放。
我能够捕获音频并在设备上播放,但我必须导出文件。我通过将其转换为 byte[] 然后在 Base64 中对其进行编码来做到这一点。所以我通过发送结果字符串来导出它,并在我的 PHP 中解码它。问题是无法播放,在服务器上创建了一个文件但无法播放。
用 captureAudio() 制作的音频文件是什么格式的?我应该在文件名中添加扩展名,例如 .mp4 还是其他名称?(我已经测试了 .mp4 和 .m4a)感谢您的帮助!
解决方案
我猜在此过程中文件中存在损坏。您可以使用文件大小+校验和轻松验证这一点(校验和是通过将文件中的所有字节相加生成的)。
捕获生成的文件类型因平台而异,例如在 iOS 上,您可能会得到一个 AAC 文件,而在 Android 中,您可能会得到一个 mp3 文件(不是 mp4,它是一种视频格式)。
您还可以使用低级音频捕获 API,该 API 提供有关所使用的特定编解码器的详细信息。此 API 在MediaManager
.
推荐阅读
- spring-boot - 无法从线程上下文、当前或系统/应用程序加载名为 [io.jsonwebtoken.io.JacksonSerializer] 的类
- python - Seaborn 子图
- node.js - 启动新会话会导致错误 - 将标头发送到客户端后无法设置标头
- reactjs - 做出反应。
- c - 在 Posix Semaphore 中使用共享内存等待和 C 中的信号
- automation - 使用特定条件格式化主题幻灯片
- ios - resignFirstResponder() 不适用于日期选择器
- swiftui - RealityKit,通过 State 或 ObservedObject 改变纹理或材质
- java - 如何删除具有相同名称的 firebase 子节点?获取要从一个节点删除的密钥并从另一个节点删除具有相同密钥的那些节点
- c# - CEFSharp-webRTC 在 WPF 中不起作用,但在 Winform 中起作用