音频/视频捕获在Windows 8 Metro App中

时间:2011-11-01 10:29:17

标签: directx windows-runtime

我正在从网络摄像头进行音频/视频捕获,这是针对Windows 8 Metro Style而非桌面模式。 我打算为此编写一个库,以便任何应用程序都可以使用此库来流式视频。 Windows 8为Windows 8的城域模式提供Direct X和Win RT。我有点困惑哪一个使用它。 单独使用Win RT是否足以检测相机和捕获音频/视频?这里需要Direct X参与吗?

2 个答案:

答案 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.AudioMediaEncodingProfile.CreateM4a()