如何实现多平台多媒体应用?

时间:2009-04-23 13:56:14

标签: wpf windows cocoa macos mono

您将在哪个技术基础上实施多媒体应用程序,该应用程序必须满足以下要求:

  • 平台:Windows XP / Vista,Mac OS X,Linux(很高兴)
  • 应该从本地磁盘播放音频(mp3)和视频(H.264会很棒)

我研究了像Cocotron这样的东西,它是一个类似于Cocoa的跨平台Objective-C API,但我不太相信它是否是正确的选择。

为每个操作系统(Windows上的WPF,Mac OS X上的Cocoa)提供单独的代码库会更简单吗?

我还尝试了基于浏览器的应用程序(Flash-Player,通过VLC提供的流媒体服务器访问本地文件),但得出的结论是,这将是一个非常脆弱的解决方案。

Mono怎么样?

8 个答案:

答案 0 :(得分:5)

我会考虑的一件事是以某种多平台的方式编写您的核心引擎,可能在python中,但可能在C中,使用在所有平台上都有二进制文件的库。然后,每个平台有多个前端,即Cocoa的Cocoa,Windows特定代码和Linux的GTK。

但是,从维护的角度来看,更简单的解决方案可能只是用作QT等跨平台工具包

答案 1 :(得分:2)

我建议:

答案 2 :(得分:1)

为什么不去看看VLC是怎么做到的? http://www.videolan.org/vlc/

答案 3 :(得分:1)

Adobe Air(Flex / Actionscript)可能是您最好的选择,因为MONO(.NET)紧随其后。

他们都在推动跨平台,多媒体,以及浏览器体验。

答案 4 :(得分:1)

是的,我现在不推荐Cocotron,不支持音频/视频。

你可以看一下使用QuickTime,因为它可以在OSX上运行,并且有一个适用于Windows的SDK。

答案 5 :(得分:0)

我不得不承认,我认为Flash(或者过去的导演)会比Mono脆弱得多。它们也不需要大型运行时安装。

我不是说在浏览器中运行Flash,我说的是在本地计算机上作为应用程序运行的Flash。诚然,Linux支持是粗略的。

答案 6 :(得分:0)

如果您只是在编写需要播放H.264和Mp3文件的应用程序,我建议使用Adobe AIR。您将获得开箱即用的H.264和AAC音频支持,并且能够非常轻松地部署在Windows / Mac / Linux上。

如果您想要更传统的方法,我建议您使用QT作为跨平台UI框架。

答案 7 :(得分:0)

我们将WinForms用于Plastic