我正在从网络摄像头进行音频/视频捕获,这是针对Windows 8 Metro Style而非桌面模式。 我打算为此编写一个库,以便任何应用程序都可以使用此库来流式视频。 Windows 8为Windows 8的城域模式提供Direct X和Win RT。我有点困惑哪一个使用它。 单独使用Win RT是否足以检测相机和捕获音频/视频?这里需要Direct X参与吗?
答案 0 :(得分:2)
我在互联网上发现了这一点。所以Win RT Alone就足够了。
http://code.msdn.microsoft.com/Media-Capture-Sample-adf87622
答案 1 :(得分:1)
WinRT本身提供了音频/视频捕获API,位于Windows.Media.Capture
命名空间下。您不需要使用DirectX。以下C#代码记录带声音的视频并保存到当前用户的“视频”文件夹中。
var settings = new MediaCaptureInitializationSettings();
settings.StreamingCaptureMode = StreamingCaptureMode.AudioAndVideo;
var capture = new MediaCapture();
await capture.InitializeAsync(settings);
var profile = MediaEncodingProfile.CreateMp4(VideoEncodingQuality.Auto);
var file = await KnownFolders.VideosLibrary.CreateFileAsync("captured.mp4", CreationCollisionOption.GenerateUniqueName);
await capture.StartRecordToStorageFileAsync(profile, file);
对于纯音频捕获,请使用StreamingCaptureMode.Audio
和MediaEncodingProfile.CreateM4a()