在 Uno 平台上合并音频和视频
Posted
技术标签:
【中文标题】在 Uno 平台上合并音频和视频【英文标题】:Merge Audio and Video on Uno Platform 【发布时间】:2021-03-26 17:58:32 【问题描述】:我正在尝试在 Uno 平台上将音频流和视频流合并到一个文件中,特别是对于 WebAssembly。
我已经知道正常的、仅限桌面的方法是调用ffmpeg
,而且我还找到了一个仅适用于 UWP 的 C# 方法here。
但是,代码使用了Windows.Media.Editing
,即not implemented in Uno。
我知道 WASM here 有一个 ffmpeg
库端口,但我不知道如何从我的 Uno Web 应用程序调用它。
那么有什么方法可以在 WASM 的 Uno 平台上将音频流和视频流合并到一个文件中?
【问题讨论】:
【参考方案1】:很遗憾,这个 API 还没有在 Uno Platform 中实现,所以在这种情况下,您需要编写特定于平台的实现。
如果您有可用的 javascript 库,它可以提供您需要的功能,您仍然可以从 C# 代码中调用它。在 Uno 平台文档中有 a three-part tutorial 实现 C# - JS 互操作,因此可能有助于入门。
或者,如果您在 NuGet 上找到 C# 中的替代实现,您可以为支持的平台安装它并在您的代码中使用它。要编写特定于平台的代码,您可以使用#if
条件,如#if __WASM__
等 - 有关完整信息,请参阅this documentation page。
【讨论】:
除了string
s 之外,文档并没有太多关于在 C# 和 js 之间编组对象的内容。
没错,编组没有记录,因为它正在进行中。对于 ffmpeg,需要重新构建库以公开其 C API,而不是 Javascript API,因此可以使用 PInvoke 并避免显式编组。以上是关于在 Uno 平台上合并音频和视频的主要内容,如果未能解决你的问题,请参考以下文章
如何在Windows Phone 8中合并音频和视频[关闭]