开发一个可以帮助用户创建和播放媒体,并且能够为用户带来令人兴奋的媒体体验的应用。现在通过 Windows 8.1 Preview 可以轻松开发出这样的应用。Windows 8.1 Preview 中具有可捕获不同环境中的媒体的新属性,是一种向使用 XAML 的应用添加播放控件的简单方法,并为播放 HTML5 加密媒体扩展 (EME) 提供本机支持。
庆阳网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联公司于2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。
Windows 8.1 Preview 中的更新
视频处理功能更新
Windows 8.1 Preview 中引入了一些新的更新,以及与视频格式、编解码器和处理相关的支持。
支持 CFF
Microsoft 媒体基础将对常用文件格式 (CFF) 的支持添加到了其 MP4/fMP4 实现中。 CFF 是一种基于 ISO 基本媒体文件格式的音频/视频容器格式。
新 XVP 模式
媒体基础转换代码视频处理器 (XVP) 中添加了MrfCrf444模式,该模式始终在软件中运行,并且不使用 DirectX 视频加速 (DXVA) 硬件加速。这样可以确保无论基本硬件如何,所有平台上均能实现一致的结果。由于MrfCrf444模式完全在软件中执行,因此转换代码操作可能需要较长时间,并使用较多电能。 这种新模式强制使用较大的筛选器,对颜色转换使用全精度,选择高质量颜色格式,并启用高质量反隔行扫描。
你可以通过将MediaTrancoder.VideoProcessingAlgorithm设置为MediaVideoProcessingAlgorithm.mrfCrf444在你的应用中使用此模式。
- // sourceFile and destFile are IStorageFile objects defined elsewhere.
- var profile = Windows.Media.MediaProperties.MediaEncodingProfile.createMp4
- (Windows.Media.MediaProperties.VideoEncodingQuality.hd720p);
- var transcoder = new Windows.Media.Transcoding.MediaTranscoder();
- transcoder.videoProcessingAlgorithm =
- Windows.Media.Transcoding.MediaVideoProcessingAlgorithm.mrfCrf444;
- transcoder.prepareFileTranscodeAsync(sourceFile, destFile, profile);
在媒体基础中支持扩展范围 YUV
在 Windows 8 中,媒体基础管道默认为演播室摆幅 (studio swing) YUV 范围 [Y: 16-235],并且对于扩展范围 YUV [Y: 0-255] 中的输入不发出信号。媒体基础管道现在能够将扩展范围的输入用信号传递到图形处理器 (GPU) 硬件。这样就使包括 MJPEG 解码器在内的整个媒体基础管道扩大了感知范围。
MF_MT_VIDEO_NOMINAL_RANGE 属性用于为内容指定工作室或扩展的 YUV 范围。
Windows 8.1 Preview 中引入了一种新的针对 Windows 应用商店应用的通用媒体源,称为媒体流源 (MSS)。此项技术的 API 在Windows.Media.Core命名空间中,主要媒体源类是MediaStreamSource。MSS 使应用能够向媒体管道发送压缩或未压缩的音频和视频示例,以进行播放、转换代码和流式传输。媒体示例可以由此应用动态生成,也可以通过流媒体或文件进行多 路复用。这一灵活性使应用能够更加轻松地扩展对新媒体格式的平台支持,或解决复杂问题,如自适应流式处理或在托管代码中实现自定义媒体源。
MediaStreamSource API 与同名的 Microsoft Silverlight API 非常相似。所以熟悉 Silverlight 版本的这些 API 的开发者可以利用他们已有的相关知识使用 MSS 构建 Windows 应用商店应用。
可以在使用 JavaScript 的 Windows 应用商店应用中将 MSS 与audio和video对象一起使用,在使用 C++、C# 或 Visual Basic 和MediaElement的 Windows 应用商店应用中将 MSS 与MediaTranscoder对象一起使用。
音频和视频捕获更新
Windows 8.1 Preview 中引入了很多针对音频和视频捕获的功能更新。
照片序列模式可拍摄一系列连续的照片。你可以使用LowLagPhotoSequenceControl类配置此模式,可以通过MediaCapture.VideoDeviceController属性访问此类。
可以使用LowLagPhotoSequenceControl.Supported属性确定设备是否支持照片序列模式。
照片序列模式的一个主要方案是获取以前的照片,—即,获取用户拍摄之前的照片。 你可以使用PhotoCapturedEventArgs.CaptureTimeOffset说明某个帧是在过去还是在将来。大于 0 的值表示将来,小于 0 的值表示过去。
若要启动此模式,请调用MediaCapture.PrepareLowLagPhotoSequenceCaptureAsync。若要开始捕获照片,请调用StartAsync。你的应用将继续接收来自设备的照片,直到停止此操作为止。 若要停止捕获照片,请调用StopAsync。
如果你的应用需要设置每秒钟收到的帧的数量,可以使用LowLagPhotoSequence.PhotosPerSecondLimit。如果设备上传感器的处理速度能够达到 30 帧每秒 (fps),但应用只需要 4 fps,此功能就很有用。
缩略图支持
通过LowLagPhotoControl和LowLagPhotoSequenceControl类,支持单张照片和照片序列操作的缩略图功能,可以通过MediaCapture.VideoDeviceController属性访问这些类。
若要启用缩略图功能,请将ThumbnailEnabled属性设置为true。 你可以使用DesiredThumbnailSize设置所需的缩略图大小,使用ThumbnailFormat设置缩略图的格式。
#p#
场景模式
场景模式可以调节捕获的帧的后续处理过程,以便能够更好地匹配当前所录制的场景。你可以使用SceneModeControl配置此模式,可以通过MediaCapture.VideoDeviceController属性访问此类。
SupportedModes属性说明设备支持哪些场景模式(如Snow、Night和Sport)。若要选择场景模式,请调用SceneModeControl.SetValueAsync。
聚光模式
聚光模式使用设备上的聚光 LED。你可以使用TorchControl配置此模式,可以通过MediaCapture.VideoDeviceController属性访问此类。
你可以通过查看TorchControl.Supported属性确定设备是否支持此控件。如果支持,可以在捕获应用中或非捕获应用中使用聚光模式,以完成如照亮房间等操作。
闪光灯模式
闪光灯模式使用设备上的闪光灯。你可以使用FlashControl配置此模式,可以通过MediaCapture.VideoDeviceController属性访问此类。
你可以通过查看FlashControl.Supported属性确定设备是否支持此控件。如果支持,可以在照片应用中使用闪光灯模式,以处理光线较暗的环境或RedEyeReduction。
白平衡
白平衡为你的应用提供了针对设备上白平衡设置的更多控制功能。你可以使用WhiteBalanceControl配置白平衡的级别,可以通过MediaCapture.VideoDeviceController属性访问此类。
你可以通过查看WhiteBalanceControl.Supported属性确定设备是否支持此控件。如果支持,可以通过调用SetPresetAsync使用其中一个ColorTemperaturePreset值。或者调用SetValueAsync设置一个界于Min和Max之间的具体Value。
曝光模式
曝光模式为你的应用提供了针对设备上曝光设置的更多控制功能。 你可以使用ExposureControl配置此模式,可以通过MediaCapture.VideoDeviceController属性访问此类。
你可以通过查看ExposureControl.Supported属性确定设备是否支持此控件。如果支持,你的应用可以通过调用SetValueAsync来设置曝光值。若要启用自动曝光,请调用SetAutoAsync。
曝光补偿模式
曝光补偿模式为你的应用提供了针对捕获照片的曝光程度的控制功能。你可以使用ExposureCompensationControl配置此模式,可以通过MediaCapture.VideoDeviceController属性访问此类。
你可以通过查看ExposureCompensationControl.Supported属性确定设备是否支持此控件。如果支持,你的应用可以通过调用SetValueAsync来设置曝光值。
焦点模式
焦点模式为你的应用提供了针对设备上焦点设置的更多控制功能。你可以使用FocusControl配置此模式,可以通过MediaCapture.VideoDeviceController属性访问此类。
你可以通过查看FocusControl.Supported属性确定设备是否支持此控件。如果支持,可以通过调用SetPresetAsync使用其中一个FocusPreset值。或者调用SetValueAsync设置一个界于Min和Max之间的具体Value。
你的应用可以使用 ISO 模式来管理设备上的 ISO 感光度设置。 在光线较暗的环境中,你可能希望使用较高的噪声级别,以响应较高的总体亮度。应用使用 ISO 感光度控件可以调节此权衡关系。你可以使用IsoSpeedControl配置此模式,可以通过MediaCapture.VideoDeviceController属性访问此类。
你可以通过查看IsoSpeedControl.Supported属性确定设备是否支持此控件。如果支持,可以使用SetPresetAsync将 ISO 级别设置为其中一个IsoSpeedPreset值。SupportedPresets列出了设备支持的预设值。
感兴趣区域允许你的应用在预览中指定RegionOfInterest。你可以使用RegionsOfInterestControl配置此设置,可以通过MediaCapture.VideoDeviceController访问此类。
使用此设置来指定要计算焦点和曝光程度等内容的预览区域。感兴趣区域可实现如“点按以对焦”等方案。
“视野”使应用能够通过MediaCaptureSettings.PitchOffsetDegrees、MediaCaptureSettings.Horizontal35mmEquivalentFocalLength和MediaCaptureSettings.Vertical35mmEquivalentFocalLength设置来计算视野和相机角度。
录制视频时拍摄照片
你的应用可以检查MediaCaptureSettings.ConcurrentRecordAndPhotoSupported设置,以发现设备是否允许在录制视频时拍摄照片。
确定相机是否需要播放声音
MediaCaptureSettings.CameraSoundRequiredForRegion设置指示是否需要操作系统在相机拍摄照片时播放声音。应用可以使用此信息来决定是否必须播放声音。
捕获设备优化
VideoDeviceController.PrimaryUse属性指示所使用的捕获设备是否主要用于照片或视频。 这使系统能够优化性能和质量。
录制未压缩的 AVI 和 WAV
你可以通过将MediaCaptureInitializationSettings.AudioProcessing设置为Raw,让你的应用从麦克风录制未压缩的音频流。
#p#
音频效果发现
应用可以发现终结点上的音频处理链。可使用此信息配置应用中进行的音频处理。Windows.Media.Effects命名空间包含AudioEffect、AudioCaptureEffectsManager、AudioEffectsManager和AudioRenderEffectsManager类。
要创建AudioCaptureEffectsManager对象,请调用AudioEffectsManager.CreateAudioCaptureEffectsManager。 要创建AudioRenderEffectsManager对象,请调用AudioEffectsManager.CreateAudioRenderEffectsManager。
XAML MediaElement 更新
[立即获取 XAML 媒体播放示例。]
MediaElement控件已扩展为支持内置传输控件和全屏呈现。
MediaElement.AreTransportControlsEnabled属性可启用或禁用内置传输控件,以便你无需再使用自己的按钮来完成像播放、停止、暂停或清理等操作。 此 API 的工作方式与 HTML5video上的controls属性和audio元素相似。
MediaElement.IsFullWindow属性可启用或禁用全屏呈现。
以下代码显示如何启用内置传输控件。
- Source="testVideo.mp4"
- AreTransportControlsEnabled="True" />
- MediaElement media = new MediaElement();
- media.AreTransportControlsEnabled = true;
以下代码显示如何启用全屏视频呈现。
- Source="testVideo.mp4"
- IsFullWindow="True" />
- MediaElement media = new MediaElement();
- media.IsFullWindow = true;
HTML5 视频和音频播放
Windows 8.1 Preview 中引入了一系列对音频和视频媒体播放功能的更新,包括支持万维网联合会 (W3C) HTML5 媒体源扩展 (MSE),支持 W3C HTML5 加密媒体扩展 (EME),以及对 XAMLMediaElement控件的更新。
HTML5 媒体源扩展 (MSE) 视频和音频。
HTML5 媒体源扩展 (MSE) 是一种 W3C 标准,它将video和audio元素进行扩展,以便能够在不使用插件的情况下动态更改媒体流。这样支持如自适应媒体流、实时流、拼接视频和视频编辑等方案。
可以在 MSE 之上构建自定义自适应流式处理解决方案。 自适应流式处理解决方案可以动态更改媒体流的比特率,以提供最高质量的流媒体体验。它们尝试根据如网络带宽和 CPU 利用率等限制来决定最佳比特率。例如,如果网络带宽下降,你可以使用 MSE 将视频流切换到较低的比特率。 这可能会降低图像质量,但可以保持视频无中断连续播放。
动态拼接视频的其中一个用途是可以在媒体播放过程中插入广告。这意味着不必事先在媒体文件中放入广告剪辑,可以在播放过程中向媒体流中插入剪辑。
以下是 MSE API 的一些重要元素。
API | 描述 |
---|---|
MediaSource | 连接到 HTML 媒体元素的媒体对象。MediaSource包含由一个或多个SourceBuffer对象指定的媒体数据。 |
MediaSource.readyState | 指示MediaSource的当前状态及其是否连接到媒体元素。 |
SourceBuffer | 用于保存媒体数据的缓冲区。 |
SourceBufferList | SourceBuffer对象的集合。 |
MediaSource.endOfStream | 指示流结束的原因。 |
MediaSource.sourceBuffers | SourceBuffer对象的集合,其中包含MediaSource的媒体数据。 |
createObjectURL | 创建一个指向MediaSource对象的 URL。 通过将src属性设置为此 URL,可以将MediaSource连接到video或audio。 |
HTML5 加密媒体扩展 (MSE) 视频和音频元素
HTML5 加密媒体扩展 (EME) 是一个 W3C 标准,该标准对video和audio元素进行了扩展,以便在不使用插件的情况下也能启用受数字版权管理 (DRM) 保护的内容。 在使用 Windows 8.1 Preview 上运行的 JavaScript 的 Internet Explorer 11 Preview 和 Windows 应用商店应用中支持 EME。
以下是与 EME 一起使用的一些主要 API。
API | 描述 |
---|---|
MediaKeys | 用于解密和加密媒体数据的密钥。 |
MediaKeySession | 与密钥相关的播放会话。 |
MediaKeys.createSession | 创建与MediaKeys关联的MediaKeySession。 |
keySystem | 媒体元素上指定密钥系统的属性。 密钥系统标识内容保护提供程序或解密机制。 |
MediaKeyError | 指定与MediaKeys相关的错误的类型。 |
MediaKeyMessageEvent | 指定与MediaKeys相关的事件的类型。 |
“播放到”功能更新
Windows 8.1 Preview 中引入了一系列更新以改进“播放到”体验。
以编程方式启动“播放到”UI
Windows 8.1 Preview 的新 UI 指南鼓励应用开发者使用标准“播放到”字形提供应用内按钮,从而以编程方式显示“播放到”UI 浮出控件,而不要求用户通过轻扫“设备”超级按钮来显示此 UI。使用ShowPlayToUI可显示浮出控件。
部分代码显示如何显示“播放到”UI。
- function showPlayTo() {
- Windows.Media.PlayTo.PlayToManager.showPlayToUI();
- }
#p#
按引用播放到
“按引用播放到”使网页和 Windows 应用商店应用能够播放受 DRM 保护的内容。此应用指定一个将发送到“播放到”目标设备的选择统一资源标识符 (URI)。 此 URI 可以指向一个基于云的媒体服务器。 如果存在preferredSourceUri,“播放到”目标设备可直接从云获得流内容,并且该内容可受到 DRM 保护。(与来自必须解除内容保护的 Windows 8.1 Preview 计算机—的备用—流内容对比。)
以下代码显示如何设置“按引用播放到”。
- // video is a MediaElement defined in XAML.
- using Windows.Foundation;
- video.Source = new Uri("http://www.contoso.com/videos/video.mp4");
- video.PlayToSource.PreferredSourceUri =
- new Uri("http://www.contoso.com/catalogid=1234");
- var video = document.createElement('video');
- document.body.appendChild(video);
- video.src = "http://www.contoso.com/videos/video.mp4";
- video.msPlayToPreferredSourceUri = "http://www.contoso.com/catalogid=1234";
“播放到”功能现在支持通过数字媒体接收器 (DMR) 上的全新 Windows UI 播放来自 Internet Explorer 的未受保护的 Flash 音频和视频内容。
媒体源扩展 (MSE) 是一个新的 W3C 标准,将成为只使用 Web 浏览器实现高质量、优质、节能和较长视频传输的主干。MSE 不需要使用插件。“播放到”功能现在支持通过使用 JavaScript 的 Windows 应用商店应用,以及使用 Windows UI 的 Internet Explorer 中的网站播放未受保护的 MSE 内容。
仅视频到音频设备
此“播放到”UI 现在支持选择仅音频接收器作为视频内容的远程终结点。视频内容被分离开,只将音频组件发送给设备。
媒体传输控件 UI
在 Windows 8.1 Preview 中,你可以使用新SystemMediaTransportControls,而不是MediaControl类。
此媒体传输控件 UI(也就是你调高音量或调低音量时看到的 UI)现在可用作在“播放到”设备上播放媒体的远程控制。
可以显示这些传输控件,并用于在源应用在后台运行或设备屏幕锁定时控制本地或远程播放。所有 Windows 应用商店应用都会获取一个默认实现,包括:
你的应用可以通过以下方式改进默认实现:
“设备”超级按钮 UI 更新
“设备”超级按钮现在按层次结构组织,并将设备放在这些类别中:
此功能可帮助用户了解“设备”超级按钮功能的预期行为,以免造成混淆。即使当前没有设备可用,仍会显示这些部分。
数字媒体接收器暂留
最近选择的数字媒体接收器及其连接状态当前在“设备”超级按钮上高亮显示。
改进的连接/断开连接流程和更好的错误报告
“播放到”UI 现在支持改进的连接和断开连接流程。
在与设备建立“播放到”连接时,将始终显示一个包含“正在连接”消息的新 UI 和“播放到”浮出控件,直到实现连接。如果连接失败,会向源应用报告连接错误。
已删除“断开连接”按钮。若要结束远程播放并继续本地播放,用户现在可以选择“此电脑”,此选项位于“播放到”UI 中的其他设备旁边。
本文题目:Windows8.1多媒体
网站地址:http://www.shufengxianlan.com/qtweb/news5/149705.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联