【发布时间】:2010-12-29 23:41:34
【问题描述】:
那么 Windows Mobile 有它的 DirectShow 用于媒体编辑捕获,那么它在 Symbian OS (s60 v5) 上的模拟是什么?
【问题讨论】:
-
是的,它与编程有关!谷歌什么是 DS,程序员用它做什么!
标签: windows symbian directshow nokia
那么 Windows Mobile 有它的 DirectShow 用于媒体编辑捕获,那么它在 Symbian OS (s60 v5) 上的模拟是什么?
【问题讨论】:
标签: windows symbian directshow nokia
Symbian 上有许多提供音频和视频功能的 API;请注意,我对 DirectShow 不熟悉,但根据对 Wikipedia 的简要了解,看起来 DirectShow API 比 Symbian(当前)提供的更强大。
这里简要概述了 Symbian 可用的 API 以及您可以使用它们做什么。
DevSound API CMMFDevSound 是可用的最低级别的音频 API。它提供多种格式的音频输入和输出流。支持的确切格式取决于您使用的特定硬件,但它始终支持 16 位 PCM,通常也支持 AMR、AAC、MP3。 API 不是最容易使用的,但如果您想执行“实时”音频流传输,可能值得使用。
CMMFAudioInputStream 和 CMMFAudioOutputStream 类本质上是 DevSound 的包装器;它们更容易使用,但没有那么强大。
对于基本文件(剪辑)播放/录制,您可以使用CMdaAudioPlayerUtility 和CMdaAudioRecorderUtility。它们提供“打开文件”、“播放”、“搜索”等级别的功能。如果您只想播放/录制音频文件,它们是最简单的选择。如果您希望能够在播放时生成音频,或者在录制时对其进行处理,那么它们就不好用了。
这些是音频剪辑实用程序的模拟,但用于播放/录制视频文件。要使用的类是CVideoPlayerUtility 和CVideoRecorderUtility。它们涉及使用直接屏幕访问和/或 ECAM 来呈现/录制视频(见下文)。
Direst Screen Access (DSA) 提供对视频硬件的快速访问,用于渲染视频、相机取景器或任何其他需要高速图形的设备。开始的课程是CDirectScreenAccess。
DSA 的确切行为取决于您的特定硬件:例如,如果在 DSA 区域顶部绘制菜单或另一个窗口,某些实现将“中止”您的 DSA;其他人可能允许 DSA 在后台继续运行,在硬件中对您的 DSA 区域执行剪辑。
注意,如果您直接使用 DSA 渲染视频,则需要自行安排视频流解码; DevVideo(下)在这里可能会有所帮助。使用 DSA 只能渲染未压缩的位图。
ECAM API CCamera 提供对现有相机硬件的访问。它可以提供来自摄像机的实时未压缩视频帧(用于编码或渲染取景器,通常使用 DSA),也可以拍摄快照。
DevVideo API 提供对视频编码和解码硬件的低级访问。根据您使用的特定硬件,它还可能支持将编码的视频流呈现到 DSA 区域。 API 很难使用,您可能会遇到不同手机型号之间的不规范。如果您确实需要执行硬件加速的流式视频编码/解码,我只建议使用它。请注意,上面提到的视频剪辑实用程序在后台使用 DevVideo,因此如果您使用它们,您将受益于现有的任何硬件加速。
要查看的类是CMMFDevVideoPlay 和CMMFDevVideoRecord。一些警告:
.lib 文件,这意味着您不能将这些 API 与标准 SDK 一起使用;我不确定这里目前的情况。好问题。这取决于你想做什么。如果您只想对音频/视频进行基本播放/录制,请使用剪辑实用程序。如果它们足够强大,可以满足您的需求,那么它们会比其他的更容易使用。
但是,如果您需要执行音频或视频流传输,则需要使用 DevSound 和/或 DSA。如果你想做类似的事情:
那么您将需要使用低级 API,而且您可能需要学习很多东西!
【讨论】: