Capture SnapMedia a picture, record video and audio. Capture Devices Input and output audio devices such as Bluetooth. Playlists Work with audio playlists. PlayTo Stream media to a television or.

Download Report

Transcript Capture SnapMedia a picture, record video and audio. Capture Devices Input and output audio devices such as Bluetooth. Playlists Work with audio playlists. PlayTo Stream media to a television or.

Capture
SnapMedia
a picture,
record video and audio.
Capture
Devices
Input and output audio devices such as Bluetooth.
Playlists
Work with audio playlists.
PlayTo
Stream media to a television or audio system.
Protection
Use PlayReady or other content protection systems.
Transcoding
Convert music or video to other formats or resolutions, trim,
or make effects permanent.
VideoEffects
Insert or remove well-known video effects.
Video Chat
Games
Real-time audio and
video
<video id=“realTimeVideo” msrealtime></video>
<audio id=“realTimeAudio” msrealtime></audio>
<MediaElement RealTimePlayback="true"/>
Media Format
Target Latency
Video (up to 720p @ 30fps, H.264 or VC-1)
140 ms
Audio (PCM)
85 ms
Audio (AAC)
135 ms
Media Capture and Plug ins
Media Platform
Windows Metro Style App
<audio src=“…”>
<video src=“…”>
Playback/Preview
(Media Engine)
Audio/Video
Source
Media Foundation
Windows Runtime (WinRT)
Capture
(Capture Engine)
Transcode
Video
Decoder
Video
Effect 1
Video
Effect N
Video
Encoder
Audio
Decoder
Audio
Effect 1
Audio
Effect N
Audio
Encoder
Streaming
(Sharing Engine)
Audio/Video
Sink
Media Platform
Windows Metro Style App
<audio src=“…”>
<video src=“…”>
Playback/Preview
(Media Engine)
Audio/Video
Source
Media Foundation
Windows Runtime (WinRT)
Capture
(Capture Engine)
Transcode
Video
Decoder
Video
Effect 1
Video
Effect N
Video
Encoder
Audio
Decoder
Audio
Effect 1
Audio
Effect N
Audio
Encoder
Streaming
(Sharing Engine)
Audio/Video
Sink
<Extension Category="windows.activatableClass.inProcessServer">
<InProcessServer>
<Path>Microsoft.Samples.SimpleCommunication.dll</Path>
<ActivatableClass
ActivatableClassId="Microsoft.Samples.SimpleCommunication.StspMediaSink"
ThreadingModel="both" />
</InProcessServer>
</Extension>
// Step 1: Create and initialize the camera
var
new
then
// Step 2: Create the sink plug-in
new
// Step 3: Configure the encoding profile of the output stream
null
// Step 4: start sending captured audio and video to plug-in in real-time
camera.startRecordToCustomSinkAsync(mediaEncodingProfile, mediaSink);
using Windows.Media.Capture;
…
// Step 1: Create and initialize the camera
MediaCapture
new
await
// Step 2: Create the sink plug-in
new
// Step 3: Configure the encoding profile of the output stream
null
// Step 4: start sending captured audio and video to plug-in in real-time
await
<Extension Category="windows.activatableClass.inProcessServer">
<InProcessServer>
<Path>Microsoft.Samples.SimpleCommunication.dll</Path>
<ActivatableClass
ActivatableClassId="Microsoft.Samples.SimpleCommunication.StspSchemeHandler"
ThreadingModel="both" />
</InProcessServer>
</Extension>
// Step 1: Create the media extension manager
var
new
// Step 2: Register network source
"Microsoft.Samples.SimpleCommunication.StspSchemeHandler",
"stsp:"
var
// Creates the media source plug in for the custom protocol
"stsp://"
remoteAddress
That’s the video, now the audio
• Bluetooth Audio Devices are automatically supported in Windows 8
• Call Control is simple to use in Windows Metro style apps
• Background audio is possible for communications apps
• Tips and tricks for making sure your communications app stays alive
BLUETOOTH AUDIO
• Bluetooth Profiles in Win8
• LE (Low Energy) – supports new low power wireless devices
• PAN (Personal Area Networking Profile)
• OPP (Object Push Profile) - for sending info from device to device
• HCRP (Hard Copy Cable Replacement Profile) - wireless printer connection
• HID (Human Interface Device Profile)
• DUN (Dial Up Networking Profile) - mostly for accessing internet for a laptop using a
mobile phone (not on ARM)
• SPP (Serial Port Profile) - emulates a serial cable. Used for DUN, HSP, AVRCP (not
on ARM)
Media Engine
Capture Engine
CALL CONTROL
// Initialize the call control object using the default bluetooth
communications device
callControls
// Add the event listener to listen for the various button presses
callControls.addEventListener
callControls.addEventListener
callControls.addEventListener
callControls.addEventListener
callControls.addEventListener
"answerrequested"
"hanguprequested"
"audiotransferrequested"
"redialrequested"
"dialrequested"
STAYING ALIVE IN THE
BACKGROUND
Media Stream Types (msAudioCategory)
Stream Type
Purpose
Alerts
All media that does not need background playback capability (e.g. a video ad in you
application)
General media requiring background playback: Local music playlists, streaming
audio, YouTube, Pandora, etc.
Communications streams that require background capability: Voice over IP, real time
chat, video conference call --- (sets msRealtime for low latency and sets
msAudioDeviceType to “communications”)
Alarm, ring tones – sounds that will mute or attenuate existing audio.
GameMedia
Background music in a game or other non-effects game sounds.
SoundEffects
GameEffects
Narration
Short duration sound effects in the foreground (gun shots, explosions), sounds that
will mix with background audio.
Other
Media
Communications
eBook, or radio narration type audio that requires background capability.
!
REVIEW
• Built-in low latency capability and Media Capture API improve time-to-market and user
satisfaction
Simple Communication Sample
Playback Manager Sample
Call Control Sample
http://go.microsoft.com/fwlink/?LinkID=227329&clcid=0x409
Networking
Managing network communication with sockets
http://forums.dev.windows.com
http://bldw.in/SessionFeedback