因此Windows Mobile有DirectShow用于媒体编辑捕获,因此它的Symbian OS模拟(s60 v5)是什么?
答案 0 :(得分:7)
Symbian上有许多API提供音频和音频。视频功能;请注意,我不熟悉DirectShow,但基于对维基百科的简要介绍,看起来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,你可能需要学习很多东西!