Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows Symbian操作系统的DirectShow模拟?_Windows_Symbian_Directshow_Nokia - Fatal编程技术网

Windows Symbian操作系统的DirectShow模拟?

Windows Symbian操作系统的DirectShow模拟?,windows,symbian,directshow,nokia,Windows,Symbian,Directshow,Nokia,所以Windows Mobile有它的DirectShow用于媒体编辑捕获,那么它对Symbian OS(s60 v5)的模拟是什么呢 Symbian上有许多提供音频和视频功能的API;请注意,我不熟悉DirectShow,但通过对Wikipedia的简要了解,DirectShowAPI似乎比Symbian(当前)提供的功能更强大 下面是Symbian可用API的简要概述,以及您可以使用它们做些什么 声音录制 DevSound API,CMMFDevSound,是可用的最低级别音频API。它提供

所以Windows Mobile有它的DirectShow用于媒体编辑捕获,那么它对Symbian OS(s60 v5)的模拟是什么呢

Symbian上有许多提供音频和视频功能的API;请注意,我不熟悉DirectShow,但通过对Wikipedia的简要了解,DirectShowAPI似乎比Symbian(当前)提供的功能更强大

下面是Symbian可用API的简要概述,以及您可以使用它们做些什么

声音录制 DevSound API,
CMMFDevSound
,是可用的最低级别音频API。它提供多种格式的音频输入和输出流。支持的确切格式取决于您使用的特定硬件,但它始终支持16位PCM,并且通常也支持AMR、AAC和MP3。API不是最容易使用的,但如果您想执行“实时”音频流,可能值得使用

CMMFAudioInputStream
CMMFAudioOutputStream
本质上是DevSound的包装器;它们更容易使用,但没有那么强大

音频剪辑实用程序 对于基本文件(剪辑)播放/录制,可以使用
cmdaaudioplayerubility
CMdaAudioRecorderUtility
。它们提供“打开文件”、“播放”、“搜索”等级别的功能。如果您只想播放/录制音频文件,它们是最简单的选项。如果您希望能够在播放时生成音频,或者在录制时对其进行处理,那么这些功能就没有用

视频剪辑实用程序 这些是音频剪辑实用程序的模拟,但用于播放/录制视频文件。要使用的类是
CVideoPlayerUtility
CVideoRecorderUtility
。它们涉及使用直接屏幕访问和/或ECAM渲染/录制视频(见下文)

直接屏幕访问 Direst Screen Access(DSA)提供对视频硬件的快速访问,并用于渲染视频、摄影机视图查找器或任何其他需要高速图形的对象。要开始的类是
CDirectScreenAccess

DSA的确切行为可能很大程度上取决于您的特定硬件:例如,如果在DSA区域顶部绘制菜单或其他窗口,则某些实现将“中止”DSA;其他人可能允许DSA在后台继续,在硬件中对DSA区域执行剪切

注意,如果您直接使用DSA渲染视频,则需要自行安排视频流解码;DevVideo(以下)可能会在这方面有所帮助。使用DSA只能渲染未压缩的位图

ECAM ECAM API,
CCamera
,提供对现有任何摄像头硬件的访问。它可以从相机提供实时未压缩视频帧(用于编码或渲染取景器,通常使用DSA),也可以拍摄快照

德维多 DevVideo API提供对视频编码和解码硬件的低级访问。根据您使用的特定硬件,它还可能支持将编码视频流渲染到DSA区域。API很难使用,而且您可能会在不同的手机型号之间遇到异常情况。我只建议在您确实需要执行硬件加速的流式视频编码/解码时使用它。注意,上面提到的视频剪辑实用程序在引擎盖下使用DevVideo,因此如果您使用这些工具,您将受益于任何硬件加速

要查看的类是
CMMFDevVideoPlay
CMMFDevVideoRecord
。一些警告:

  • 诺基亚已将
    .lib
    文件从某些SDK中排除,这意味着您无法将这些API与标准SDK一起使用;我不确定现在的情况是什么
  • 实际上,要让这些课程发挥作用,您可能需要诺基亚的专业帮助,也就是说,您需要付费。我很高兴在这里被证明是错的:-)
要使用哪些API? 好问题。这取决于你想做什么。如果您只想进行音频/视频的基本播放/录制,请使用剪辑实用程序。如果它们的功能足以满足您的需求,那么它们比其他工具更易于使用

但是,如果需要执行音频或视频流,则需要使用DevSound和/或DSA。如果您想执行以下操作:

  • 渲染通过网络传输的音频和视频
  • 实时生成音频,例如游戏音效
  • 实时处理录制的音频/视频,例如通过网络从摄像机中传输的音频/视频
然后,您将需要使用低级别的API,您可能还有很多东西要学习

一些链接
  • Symbian页面上的一些示例源代码。来自Symbian OS C++的移动电话V3的代码包含所有高级多媒体API(即,DeVoSead或DevVideo)的示例。不幸的是,这本书本身无法在网上获得
  • 诺基亚论坛有一些可能值得一看

是的,它与编程相关!谷歌什么是DS,程序员用它做什么!