【发布时间】:2018-08-27 18:08:38
【问题描述】:
由于我没有得到答案,也没有太多关于这个问题的反馈:Android Flutter Analyze Audio Waveform 并没有在网上找到关于我正在寻找的内容,我只会问一个更广泛的问题,因为对该答案的评论告诉我使用本机代码并使用平台通道将其连接到颤振但是当我问一些澄清时我一无所获。
所以我的问题是我是否可以在 Java 中进行操作(它已经存在了很长时间,因此有更大的文档),然后在 Flutter 中使用结果。
更准确地说,我可以在 Java 和 Flutter 中做这些事情吗:
1) 分析Audio波形,找到特定频率的峰值点,并使用时间戳以flutter显示;
编辑 1: 什么是峰值?
这是不同频率范围的波形(橙色的是低音(80-255Hz)),黑色圈出的点是峰值点。我应该分析一首歌的音频幽灵并找到某些频率的峰值点。然后当我找到峰值时,我需要保存时间戳,例如 16 秒等。
2) 编辑 2: 我需要编辑视频中的一些照片,例如视频拼贴,30 或 60fps 视频的每一帧都是一个图像。
3) 编辑 3: 我需要为视频添加基本的帧特定效果,例如将帧更改为帧的模糊或眩光。
4) 向该视频添加音乐并将其保存为 mp4 或 avi 或任何格式。
5) 编辑 4:最重要的是,我不希望这一切都是实时的,但更像是像渲染过程一样的 After Effects,其中所有帧都一起渲染。唯一会好的是一种进度条告诉用户渲染在帧中,例如,200 of 300,但我不想显示任何帧或视频,只是为了渲染它在后台,然后将其保存为可以观看的 mp4 视频。
正如您所见,使用一种语言很难找到有关如何播放音乐的教程,因为它处于早期状态。但是 Flutter 中的 UI 和其他一些东西更容易做到,而且 Flutter 也是多平台的。所以我更喜欢坚持 Flutter 语言。
编辑 5: 我看了一下 Qt 和 JUCE,发现 Qt 似乎是一个有效的替代方案,但它似乎更像是一个“封闭”系统,我的意思是,例如,我查看了多媒体库,但对于我所理解的,你可以做一些基本的事情,例如播放视频,但不能拼贴帧并保存它。 (不知道我是否解释得很好)。 JUCE 另一方面,它看起来更好,但它似乎更多地用于 PC 音频 VST,而不是用于包括视频渲染在内的移动应用程序。还有一点就是这两个不像 Flutter 那样免费开源。
然后是 Kivy,它可能是最好的,也可能不是最好的,因为它是移动设备的 Python 端口,我对 Python 有很多经验而且我认为它是一种更容易学习的语言,但在另一方面,它没有那么多的用户界面功能。正如您所提到的,在 Android 上使用库可能会出现问题。
您说我可以将 C++ 或 Java 与 Flutter 一起使用,但对于 C++,您说这是一个困难的过程。 所以我的问题是我可以用普通的 Android 应用程序在 java 中编写流程,然后以某种方式使用 Flutter 应用程序中的功能吗?
编辑 6: 我找到了一个可能的替代方案: 卡 (http://kha.tech/)。但再次发现如何将它与 Flutter 一起使用。 这是个好主意吗?
我想进一步确认是否可以使用 Java 或任何其他语言在 Flutter 应用程序中完成我需要的工作。如果是的话,如果它很复杂或没有那么复杂。 (我是初学者)。但是一些启动代码的教程或链接也会有所帮助!
【问题讨论】:
-
你可以,但那不会是多平台的。它更像是一个原生插件
标签: java android audio video flutter