SlideShare a Scribd company logo
2
4
<Capability Name="videosLibrary" />
...
5
http://bit.ly/ImageSdk
http://bit.ly/wbmpex
6
// Create NOK Imaging SDK effects pipeline and run it
var imageStream = new BitmapImageSource(image.AsBitmap());
using (var effect = new FilterEffect(imageStream))
{
// Define the filters list
var filter = new AntiqueFilter();
effect.Filters = new[] { filter };
// Render the filtered image to a WriteableBitmap.
var renderer = new WriteableBitmapRenderer(effect, editedBitmap);
editedBitmap = await renderer.RenderAsync();
editedBitmap.Invalidate();
// Show image in Xaml Image control
Image.Source = editedBitmap;
}
8
10
Rene Schulte
Face Lens
CaptureElement
VideoBrush
<Capability Name=“webcam" />
<Capability Name=“microphone" />
11
12
// Create MediaCapture and init
mediaCapture = new MediaCapture();
await mediaCapture.InitializeAsync();
// Assign to Xaml CaptureElement.Source and start preview
PreviewElement.Source = mediaCapture;
await mediaCapture.StartPreviewAsync();
// Create MediaCapture and init
mediaCapture = new MediaCapture();
await mediaCapture.InitializeAsync();
// Interop between new MediaCapture API and SL 8.1 to show
// the preview in SL XAML as Rectangle.Fill
var previewSink = new MediaCapturePreviewSink();
var videoBrush = new VideoBrush();
videoBrush.SetSource(previewSink);
PreviewElement.Fill = videoBrush;
// Find the supported preview size
var vdc = mediaCapture.VideoDeviceController;
var availableMediaStreamProperties =
vdc.GetAvailableMediaStreamProperties(MediaStreamType.VideoPreview);
// More LINQ selection happens here in the demo to find closest format
var previewFormat = availableMediaStreamProperties.FirstOrDefault();
// Start Preview stream
await vdc.SetMediaStreamPropertiesAsync(MediaStreamType.VideoPreview,
previewFormat);
await mediaCapture.StartPreviewToCustomSinkAsync(
new MediaEncodingProfile { Video = previewFormat }, previewSink);
public async Task CapturePhoto()
{
// Create photo encoding properties as JPEG and set the size that should be used for capturing
var imgEncodingProperties = ImageEncodingProperties.CreateJpeg();
imgEncodingProperties.Width = 640;
imgEncodingProperties.Height = 480;
// Create new unique file in the pictures library and capture photo into it
var photoStorageFile = await KnownFolders.PicturesLibrary.CreateFileAsync("photo.jpg",
CreationCollisionOption.GenerateUniqueName);
await mediaCapture.CapturePhotoToStorageFileAsync(imgEncodingProperties, photoStorageFile);
}
HardwareButtons.CameraHalfPressed += HardwareButtonsOnCameraHalfPressed;
HardwareButtons.CameraPressed += HardwareButtonsOnCameraPressed;
private async void HardwareButtonsOnCameraHalfPressed(object sender, CameraEventArgs cameraEventArgs)
{
await mediaCapture.VideoDeviceController.FocusControl.FocusAsync();
}
private async void HardwareButtonsOnCameraPressed(object sender, CameraEventArgs cameraEventArgs)
{
await CapturePhoto();
}
public async Task StartVideoRecording()
{
// Create video encoding profile as MP4
var videoEncodingProperties = MediaEncodingProfile.CreateMp4(VideoEncodingQuality.Vga);
// Create new unique file in the videos library and record video!
var videoStorageFile = await KnownFolders.VideosLibrary.CreateFileAsync("video.mp4",
CreationCollisionOption.GenerateUniqueName);
await mediaCapture.StartRecordToStorageFileAsync(videoEncodingProperties, videoStorageFile);
}
public async Task StopVideoRecording()
{
await mediaCapture.StopRecordAsync();
// Start playback in MediaElement
var videoFileStream = await videoFile.OpenReadAsync();
PlaybackElement.SetSource(videoFileStream, videoFile.ContentType);
}
var zoomControl = mediaCapture.VideoDeviceController.Zoom;
if (zoomControl != null && zoomControl.Capabilities.Supported)
{
SliderZoom.IsEnabled = true;
SliderZoom.Maximum = zoomControl.Capabilities.Max;
SliderZoom.Minimum = zoomControl.Capabilities.Min;
SliderZoom.StepFrequency = zoomControl.Capabilities.Step;
SliderZoom currentValue;
if (zoomControl.TryGetValue(out currentValue))
{
SliderZoom.Value = currentValue;
}
SliderZoom.ValueChanged += (s, e) => zoomControl.TrySetValue(SliderZoom.Value);
}
else
{
SliderZoom.IsEnabled = false;
}
18
19
25
// Wire up current screen as input for the MediaCapture
var screenCapture = ScreenCapture.GetForCurrentView();
mediaCapture = new MediaCapture();
await mediaCapture.InitializeAsync(new MediaCaptureInitializationSettings
{
VideoSource = screenCapture.VideoSource,
AudioSource = screenCapture.AudioSource,
});
// Create video encoding profile as MP4
var videoEncodingProperties = MediaEncodingProfile.CreateMp4(VideoEncodingQuality.Vga);
// Create new unique file in the videos library and record video!
var videoStorageFile = await KnownFolders.VideosLibrary.CreateFileAsync("screenrecording.mp4",
CreationCollisionOption.GenerateUniqueName);
await mediaCapture.StartRecordToStorageFileAsync(videoEncodingProperties, videoStorageFile);
27
29
30
mediaComposition = new MediaComposition();
foreach (StorageFile videoFile in videoFiles)
{
// Create Clip and add to composition
var clip = await MediaClip.CreateFromFileAsync(videoFile);
mediaComposition.Clips.Add(clip);
// Create thumbnail to show as placeholder in an UI ListView
var thumbnail = await videoFile.GetThumbnailAsync(ThumbnailMode.VideosView);
var image = new BitmapImage();
image.SetSource(thumbnail);
// Add to a viewmodel used as ItemsSource for a ListView of clips
videoClips.Add(new VideoClip(clip, image, videoFile.Name));
}
// Trimming. Skip 1 second from the beginning of the clip and 2 from the end
var clipVm = videoClips.SelectedClip;
clipVm.Clip.TrimTimeFromStart = TimeSpan.FromSeconds(1);
clipVm.Clip.TrimTimeFromEnd = clipVm.Clip.OriginalDuration.Subtract(TimeSpan.FromSeconds(2));
// Add MP3 as background which was deployed together with the AppX package
var file = await Package.Current.InstalledLocation.GetFileAsync("mymusic.mp3");
var audio = await BackgroundAudioTrack.CreateFromFileAsync(file);
mediaComposition.BackgroundAudioTracks.Add(audio);
// Play the composed result including all clips and the audio track in a Xaml MediaElement
var w = (int) MediaElement.ActualWidth;
var h = (int) MediaElement.ActualHeight;
MediaElement.SetMediaStreamSource(mediaComposition.GeneratePreviewMediaStreamSource(w, h)));
// Create output file
var vidLib = KnownFolders.VideosLibrary;
var resultFile = await vidLib.CreateFileAsync("myComposition.mp4",
CreationCollisionOption.ReplaceExisting);
// Encode new composition as MP4 to the file
var mediaEncodingProfile = MediaEncodingProfile.CreateMp4(VideoEncodingQuality.Vga);
await mediaComposition.RenderToFileAsync(resultFile, MediaTrimmingPreference.Fast, mediaEncodingProfile);
34
MediaElement.AudioCategory="BackgroundCapableMedia"
36
BackgroundAudioTask
IBackgroundTask
BackgroundMediaPlayer.Current
BackgroundMediaPlayer
.SendMessageToBackground(…)
.SendMessageToForeground(…)
37
38
39
// Attach event handler to background player to update UI
BackgroundMediaPlayer.Current.CurrentStateChanged += MediaPlayerStateChanged;
// Uri could also be ms-appx:/// for package-local tracks
BackgroundMediaPlayer.Current.SetUriSource(new Uri("http://foo.bar/my.mp3"));
// Starts play since MediaPlayer.AutoPlay=true by default
// Or trigger manually play when AutoPlay=false
BackgroundMediaPlayer.Current.Play();
// Pause.
BackgroundMediaPlayer.Current.Pause();
// Stop. There's no MediaPlayer.Stop() method
BackgroundMediaPlayer.Current.Pause();
BackgroundMediaPlayer.Current.Position = TimeSpan.FromSeconds(0);
private async void MediaPlayerStateChanged(MediaPlayer sender, object args)
{
// This event is called from a background thread, so dispatch to UI
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
switch (BackgroundMediaPlayer.Current.CurrentState)
{
case MediaPlayerState.Playing:
AppBarBtnPause.IsEnabled = true;
// Pass params on to background process, so it can update the UVC text there
BackgroundMediaPlayer.SendMessageToBackground(new ValueSet
{ {"Title", "My Super MP3"}, {"Artist", "Foo Bar"} });
break;
case MediaPlayerState.Paused:
AppBarBtnPause.IsEnabled = false;
break;
}
});
}
public void Run(IBackgroundTaskInstance taskInstance)
{
// Initialize SMTC object to talk with UVC
// This is intended to run after app is paused,
// therefore all the logic must be written to run in background process
systemmediatransportcontrol = SystemMediaTransportControls.GetForCurrentView();
systemmediatransportcontrol.ButtonPressed += SystemControlsButtonPressed;
systemmediatransportcontrol.IsEnabled = true;
systemmediatransportcontrol.IsPauseEnabled = true;
systemmediatransportcontrol.IsPlayEnabled = true;
// Add handlers to update SMTC when MediaPlayer is used in foreground
BackgroundMediaPlayer.Current.CurrentStateChanged += BackgroundMediaPlayerCurrentStateChanged;
BackgroundMediaPlayer.MessageReceivedFromForeground += BackgroundMediaPlayerOnMessageReceived;
}
private void BackgroundMediaPlayerOnMessageReceived(object sender, MediaPlayerDataReceivedEventArgs e)
{
// Update the UVC text
systemmediatransportcontrol.DisplayUpdater.Type = MediaPlaybackType.Music;
systemmediatransportcontrol.DisplayUpdater.MusicProperties.Title = e.Data["Title"].ToString();
systemmediatransportcontrol.DisplayUpdater.MusicProperties.Artist = e.Data["Artist"].ToString();
systemmediatransportcontrol.DisplayUpdater.Update();
}
44
45
46
Windows Phone 8 Windows Phone 8.1
Silverlight
Windows Phone 8.1
WinRT
Windows 8.1
Getting photos PhotoChooserTask
XNA MediaLibrary
PhotoChooserTask
XNA MediaLibrary
FileOpenPicker
KnownFolders
FileOpenPicker
KnownFolders
CameraCaptureUI
FileOpenPicker
KnownFolders
Storing photos XNA MediaLibrary XNA MediaLibrary
FileSavePicker
KnownFolders
FileSavePicker
KnownFolders
FileSavePicker
KnownFolders
Getting videos No
FileOpenPicker
KnownFolders
FileOpenPicker
KnownFolders
CameraCaptureUI
FileOpenPicker
KnownFolders
Storing videos No FileSavePicker
KnownFolders
FileSavePicker
KnownFolders
FileSavePicker
KnownFolders
47
Windows Phone 8 Windows Phone 8.1
Silverlight
Windows Phone 8.1
WinRT
Windows 8.1
Windows.Phone.
Media.Capture
Yes No No No
Windows.
Media.Capture
No Yes Yes Yes
VariablePhoto-
SequenceCapture
No Yes Yes No
ScreenCapture No Yes Yes No
48
Windows Phone 8 Windows Phone 8.1
Silverlight
Windows Phone 8.1
WinRT
Windows 8.1
Windows.Media.
Editing
No Yes Yes No
Windows.Media.
Transcoding
No Yes Yes Yes
49
Windows Phone 8 Windows Phone 8.1
Silverlight
Windows Phone 8.1
WinRT
Windows 8.1
Windows.Media.
BackgroundPlayback
No No Yes No
Microsoft.Phone.
BackgroundAudio
Yes No No No
MediaElement
AudioCategory=
"BackgroundCapable
Media"
No No No Yes
©2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the
U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft
must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related Content

What's hot

GlassFish v2.1
GlassFish v2.1GlassFish v2.1
My "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsMy "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails Projects
GR8Conf
 
Gradle talk, Javarsovia 2010
Gradle talk, Javarsovia 2010Gradle talk, Javarsovia 2010
Gradle talk, Javarsovia 2010
Tomek Kaczanowski
 
Practical Clojure Programming
Practical Clojure ProgrammingPractical Clojure Programming
Practical Clojure Programming
Howard Lewis Ship
 
Ansible Workshop for Pythonistas
Ansible Workshop for PythonistasAnsible Workshop for Pythonistas
Ansible Workshop for Pythonistas
Mihai Criveti
 
Bootstrap Jump Start
Bootstrap Jump StartBootstrap Jump Start
Bootstrap Jump Start
Haim Michael
 
Ship your Scala code often and easy with Docker
Ship your Scala code often and easy with DockerShip your Scala code often and easy with Docker
Ship your Scala code often and easy with Docker
Marcus Lönnberg
 
Grails Plugin Best Practices
Grails Plugin Best PracticesGrails Plugin Best Practices
Grails Plugin Best Practices
Burt Beckwith
 
10 Cool Facts about Gradle
10 Cool Facts about Gradle10 Cool Facts about Gradle
10 Cool Facts about GradleEvgeny Goldin
 
Gradle build tool that rocks with DSL JavaOne India 4th May 2012
Gradle build tool that rocks with DSL JavaOne India 4th May 2012Gradle build tool that rocks with DSL JavaOne India 4th May 2012
Gradle build tool that rocks with DSL JavaOne India 4th May 2012
Rajmahendra Hegde
 
Cmake kitware
Cmake kitwareCmake kitware
Cmake kitware
achintyalte
 
Spring Boot Revisited with KoFu and JaFu
Spring Boot Revisited with KoFu and JaFuSpring Boot Revisited with KoFu and JaFu
Spring Boot Revisited with KoFu and JaFu
VMware Tanzu
 
Kubernetes Story - Day 3: Deploying and Scaling Applications on OpenShift
Kubernetes Story - Day 3: Deploying and Scaling Applications on OpenShiftKubernetes Story - Day 3: Deploying and Scaling Applications on OpenShift
Kubernetes Story - Day 3: Deploying and Scaling Applications on OpenShift
Mihai Criveti
 
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
ZeroTurnaround
 
Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013
Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013
Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013
Roland Tritsch
 
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agentsPVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
Andrey Karpov
 
Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...
Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...
Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...
Luciano Mammino
 
MyFaces CODI and JBoss Seam3 become Apache DeltaSpike
MyFaces CODI and JBoss Seam3 become Apache DeltaSpikeMyFaces CODI and JBoss Seam3 become Apache DeltaSpike
MyFaces CODI and JBoss Seam3 become Apache DeltaSpike
os890
 

What's hot (19)

GlassFish v2.1
GlassFish v2.1GlassFish v2.1
GlassFish v2.1
 
My "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsMy "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails Projects
 
Gradle talk, Javarsovia 2010
Gradle talk, Javarsovia 2010Gradle talk, Javarsovia 2010
Gradle talk, Javarsovia 2010
 
Practical Clojure Programming
Practical Clojure ProgrammingPractical Clojure Programming
Practical Clojure Programming
 
Ansible Workshop for Pythonistas
Ansible Workshop for PythonistasAnsible Workshop for Pythonistas
Ansible Workshop for Pythonistas
 
Bootstrap Jump Start
Bootstrap Jump StartBootstrap Jump Start
Bootstrap Jump Start
 
Ship your Scala code often and easy with Docker
Ship your Scala code often and easy with DockerShip your Scala code often and easy with Docker
Ship your Scala code often and easy with Docker
 
Grails Plugin Best Practices
Grails Plugin Best PracticesGrails Plugin Best Practices
Grails Plugin Best Practices
 
10 Cool Facts about Gradle
10 Cool Facts about Gradle10 Cool Facts about Gradle
10 Cool Facts about Gradle
 
Gradle build tool that rocks with DSL JavaOne India 4th May 2012
Gradle build tool that rocks with DSL JavaOne India 4th May 2012Gradle build tool that rocks with DSL JavaOne India 4th May 2012
Gradle build tool that rocks with DSL JavaOne India 4th May 2012
 
Cmake kitware
Cmake kitwareCmake kitware
Cmake kitware
 
Spring Boot Revisited with KoFu and JaFu
Spring Boot Revisited with KoFu and JaFuSpring Boot Revisited with KoFu and JaFu
Spring Boot Revisited with KoFu and JaFu
 
Kubernetes Story - Day 3: Deploying and Scaling Applications on OpenShift
Kubernetes Story - Day 3: Deploying and Scaling Applications on OpenShiftKubernetes Story - Day 3: Deploying and Scaling Applications on OpenShift
Kubernetes Story - Day 3: Deploying and Scaling Applications on OpenShift
 
Gradle Introduction
Gradle IntroductionGradle Introduction
Gradle Introduction
 
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
 
Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013
Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013
Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013
 
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agentsPVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
 
Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...
Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...
Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...
 
MyFaces CODI and JBoss Seam3 become Apache DeltaSpike
MyFaces CODI and JBoss Seam3 become Apache DeltaSpikeMyFaces CODI and JBoss Seam3 become Apache DeltaSpike
MyFaces CODI and JBoss Seam3 become Apache DeltaSpike
 

Viewers also liked

21 app packaging, monetization and publication
21   app packaging, monetization and publication21   app packaging, monetization and publication
21 app packaging, monetization and publication
WindowsPhoneRocks
 
IDC Cloud Transformation Roadshow 2012
IDC Cloud Transformation Roadshow 2012IDC Cloud Transformation Roadshow 2012
IDC Cloud Transformation Roadshow 2012
IDC Italy
 
Agile@scale: Portfolio level
Agile@scale: Portfolio levelAgile@scale: Portfolio level
Agile@scale: Portfolio level
Felice Pescatore
 
Everis IT - Wearable banking
Everis IT - Wearable bankingEveris IT - Wearable banking
Everis IT - Wearable banking
Federico Giovanni Rega
 
Socigo - an introduction
Socigo - an introductionSocigo - an introduction
Socigo - an introduction
Federico Giovanni Rega
 
2014 Strategy Council Report
2014 Strategy Council Report2014 Strategy Council Report
2014 Strategy Council ReportRiccardo Ragni
 
DesignNet Visual Thesaurus
DesignNet Visual ThesaurusDesignNet Visual Thesaurus
DesignNet Visual Thesaurus
Daniele Galiffa
 
Bat man the animated series face
Bat man the animated series faceBat man the animated series face
Bat man the animated series face
PowerPoint Masterz
 
Webinar: Simplify, Gain Insight, Strengthen with SAP GRC 10.1
Webinar: Simplify, Gain Insight, Strengthen with SAP GRC 10.1Webinar: Simplify, Gain Insight, Strengthen with SAP GRC 10.1
Webinar: Simplify, Gain Insight, Strengthen with SAP GRC 10.1
Anup Lakra
 
Smau Torino 2015 - Paolo Pasini
Smau Torino 2015 - Paolo PasiniSmau Torino 2015 - Paolo Pasini
Smau Torino 2015 - Paolo Pasini
SMAU
 
Smau Bologna 2016 - Aipsi, Marco Parretti
Smau Bologna 2016 - Aipsi, Marco Parretti Smau Bologna 2016 - Aipsi, Marco Parretti
Smau Bologna 2016 - Aipsi, Marco Parretti
SMAU
 
The evolution of semantic technology evaluation in my own flesh (The 15 tip...
The evolution of semantic technology evaluation in my own flesh (The 15 tip...The evolution of semantic technology evaluation in my own flesh (The 15 tip...
The evolution of semantic technology evaluation in my own flesh (The 15 tip...
Raúl García Castro
 
IDC Big Data & Analytics Conference 2014
IDC Big Data & Analytics Conference 2014IDC Big Data & Analytics Conference 2014
IDC Big Data & Analytics Conference 2014
IDC Italy
 
IL BRANDED CONTENT MARKETING E IL POTERE DELLE STORIE
IL BRANDED CONTENT MARKETING E IL POTERE DELLE STORIEIL BRANDED CONTENT MARKETING E IL POTERE DELLE STORIE
IL BRANDED CONTENT MARKETING E IL POTERE DELLE STORIE
Francesco Policoro
 
Il mondo delle Start-up in Italia
Il mondo delle Start-up in ItaliaIl mondo delle Start-up in Italia
Il mondo delle Start-up in Italia
Anna De Leonardis
 
Wiki for Governance Risk and Compliance
Wiki for Governance Risk and ComplianceWiki for Governance Risk and Compliance
Wiki for Governance Risk and ComplianceFrancesco Magagnino
 
IDC Mobiz Mobility Forum 2016 - "Enterprise of Everything: individui iperconn...
IDC Mobiz Mobility Forum 2016 - "Enterprise of Everything: individui iperconn...IDC Mobiz Mobility Forum 2016 - "Enterprise of Everything: individui iperconn...
IDC Mobiz Mobility Forum 2016 - "Enterprise of Everything: individui iperconn...
IDC Italy
 
La Disruptive innovation al servizio della Internet Of People
La Disruptive innovation al servizio della Internet Of PeopleLa Disruptive innovation al servizio della Internet Of People
La Disruptive innovation al servizio della Internet Of People
Massimo Canducci
 
Mob04 best practices for windows phone ui design
Mob04   best practices for windows phone ui designMob04   best practices for windows phone ui design
Mob04 best practices for windows phone ui designDotNetCampus
 
Data driven economy: l’impatto sulle infrastrutture IT e la data governance a...
Data driven economy: l’impatto sulle infrastrutture IT e la data governance a...Data driven economy: l’impatto sulle infrastrutture IT e la data governance a...
Data driven economy: l’impatto sulle infrastrutture IT e la data governance a...
IDC Italy
 

Viewers also liked (20)

21 app packaging, monetization and publication
21   app packaging, monetization and publication21   app packaging, monetization and publication
21 app packaging, monetization and publication
 
IDC Cloud Transformation Roadshow 2012
IDC Cloud Transformation Roadshow 2012IDC Cloud Transformation Roadshow 2012
IDC Cloud Transformation Roadshow 2012
 
Agile@scale: Portfolio level
Agile@scale: Portfolio levelAgile@scale: Portfolio level
Agile@scale: Portfolio level
 
Everis IT - Wearable banking
Everis IT - Wearable bankingEveris IT - Wearable banking
Everis IT - Wearable banking
 
Socigo - an introduction
Socigo - an introductionSocigo - an introduction
Socigo - an introduction
 
2014 Strategy Council Report
2014 Strategy Council Report2014 Strategy Council Report
2014 Strategy Council Report
 
DesignNet Visual Thesaurus
DesignNet Visual ThesaurusDesignNet Visual Thesaurus
DesignNet Visual Thesaurus
 
Bat man the animated series face
Bat man the animated series faceBat man the animated series face
Bat man the animated series face
 
Webinar: Simplify, Gain Insight, Strengthen with SAP GRC 10.1
Webinar: Simplify, Gain Insight, Strengthen with SAP GRC 10.1Webinar: Simplify, Gain Insight, Strengthen with SAP GRC 10.1
Webinar: Simplify, Gain Insight, Strengthen with SAP GRC 10.1
 
Smau Torino 2015 - Paolo Pasini
Smau Torino 2015 - Paolo PasiniSmau Torino 2015 - Paolo Pasini
Smau Torino 2015 - Paolo Pasini
 
Smau Bologna 2016 - Aipsi, Marco Parretti
Smau Bologna 2016 - Aipsi, Marco Parretti Smau Bologna 2016 - Aipsi, Marco Parretti
Smau Bologna 2016 - Aipsi, Marco Parretti
 
The evolution of semantic technology evaluation in my own flesh (The 15 tip...
The evolution of semantic technology evaluation in my own flesh (The 15 tip...The evolution of semantic technology evaluation in my own flesh (The 15 tip...
The evolution of semantic technology evaluation in my own flesh (The 15 tip...
 
IDC Big Data & Analytics Conference 2014
IDC Big Data & Analytics Conference 2014IDC Big Data & Analytics Conference 2014
IDC Big Data & Analytics Conference 2014
 
IL BRANDED CONTENT MARKETING E IL POTERE DELLE STORIE
IL BRANDED CONTENT MARKETING E IL POTERE DELLE STORIEIL BRANDED CONTENT MARKETING E IL POTERE DELLE STORIE
IL BRANDED CONTENT MARKETING E IL POTERE DELLE STORIE
 
Il mondo delle Start-up in Italia
Il mondo delle Start-up in ItaliaIl mondo delle Start-up in Italia
Il mondo delle Start-up in Italia
 
Wiki for Governance Risk and Compliance
Wiki for Governance Risk and ComplianceWiki for Governance Risk and Compliance
Wiki for Governance Risk and Compliance
 
IDC Mobiz Mobility Forum 2016 - "Enterprise of Everything: individui iperconn...
IDC Mobiz Mobility Forum 2016 - "Enterprise of Everything: individui iperconn...IDC Mobiz Mobility Forum 2016 - "Enterprise of Everything: individui iperconn...
IDC Mobiz Mobility Forum 2016 - "Enterprise of Everything: individui iperconn...
 
La Disruptive innovation al servizio della Internet Of People
La Disruptive innovation al servizio della Internet Of PeopleLa Disruptive innovation al servizio della Internet Of People
La Disruptive innovation al servizio della Internet Of People
 
Mob04 best practices for windows phone ui design
Mob04   best practices for windows phone ui designMob04   best practices for windows phone ui design
Mob04 best practices for windows phone ui design
 
Data driven economy: l’impatto sulle infrastrutture IT e la data governance a...
Data driven economy: l’impatto sulle infrastrutture IT e la data governance a...Data driven economy: l’impatto sulle infrastrutture IT e la data governance a...
Data driven economy: l’impatto sulle infrastrutture IT e la data governance a...
 

Similar to 17 camera, media, and audio in windows phone 8.1

create-netflix-clone-04-server-continued.pdf
create-netflix-clone-04-server-continued.pdfcreate-netflix-clone-04-server-continued.pdf
create-netflix-clone-04-server-continued.pdf
ShaiAlmog1
 
JavaScript APIs - The Web is the Platform - .toster conference, Moscow
JavaScript APIs - The Web is the Platform - .toster conference, MoscowJavaScript APIs - The Web is the Platform - .toster conference, Moscow
JavaScript APIs - The Web is the Platform - .toster conference, MoscowRobert Nyman
 
yapi.js introduction (mopcon 2016 version)
yapi.js introduction (mopcon 2016 version)yapi.js introduction (mopcon 2016 version)
yapi.js introduction (mopcon 2016 version)
Jesse (Chien Chen) Chen
 
WebRTC & Firefox OS - presentation at Google
WebRTC & Firefox OS - presentation at GoogleWebRTC & Firefox OS - presentation at Google
WebRTC & Firefox OS - presentation at GoogleRobert Nyman
 
How to implement camera recording for USB webcam or IP camera in C#.NET
How to implement camera recording for USB webcam or IP camera in C#.NETHow to implement camera recording for USB webcam or IP camera in C#.NET
How to implement camera recording for USB webcam or IP camera in C#.NET
Ozeki Informatics Ltd.
 
Real World Seaside Applications
Real World Seaside ApplicationsReal World Seaside Applications
Real World Seaside Applications
ESUG
 
WinRT Holy COw
WinRT Holy COwWinRT Holy COw
WinRT Holy COw
Eugene Zharkov
 
OpenCMIS Part 1
OpenCMIS Part 1OpenCMIS Part 1
OpenCMIS Part 1
Alfresco Software
 
JavaScript APIs - The Web is the Platform
JavaScript APIs - The Web is the PlatformJavaScript APIs - The Web is the Platform
JavaScript APIs - The Web is the PlatformRobert Nyman
 
Adobe OSMF Overview
Adobe OSMF OverviewAdobe OSMF Overview
Adobe OSMF Overview
Yoss Cohen
 
The Open Web and what it means
The Open Web and what it meansThe Open Web and what it means
The Open Web and what it meansRobert Nyman
 
Building Apps with SwiftUI and Firebase
Building Apps with SwiftUI and FirebaseBuilding Apps with SwiftUI and Firebase
Building Apps with SwiftUI and Firebase
Peter Friese
 
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
Leave No One Behind with HTML5 - FFWD.PRO, CroatiaLeave No One Behind with HTML5 - FFWD.PRO, Croatia
Leave No One Behind with HTML5 - FFWD.PRO, CroatiaRobert Nyman
 
Symfony tips and tricks
Symfony tips and tricksSymfony tips and tricks
Symfony tips and tricks
Javier Eguiluz
 
Replacing ActiveRecord callbacks with Pub/Sub
Replacing ActiveRecord callbacks with Pub/SubReplacing ActiveRecord callbacks with Pub/Sub
Replacing ActiveRecord callbacks with Pub/Sub
nburkley
 
Caliburn.Micro
Caliburn.MicroCaliburn.Micro
Caliburn.Micro
bryanhunter
 
Introduction To Webrtc
Introduction To WebrtcIntroduction To Webrtc
Introduction To Webrtc
Knoldus Inc.
 
HTML5 APIs - native multimedia support and beyond - University of Leeds 05.05...
HTML5 APIs - native multimedia support and beyond - University of Leeds 05.05...HTML5 APIs - native multimedia support and beyond - University of Leeds 05.05...
HTML5 APIs - native multimedia support and beyond - University of Leeds 05.05...Patrick Lauke
 
ReactJS for Programmers
ReactJS for ProgrammersReactJS for Programmers
ReactJS for Programmers
David Rodenas
 

Similar to 17 camera, media, and audio in windows phone 8.1 (20)

create-netflix-clone-04-server-continued.pdf
create-netflix-clone-04-server-continued.pdfcreate-netflix-clone-04-server-continued.pdf
create-netflix-clone-04-server-continued.pdf
 
JavaScript APIs - The Web is the Platform - .toster conference, Moscow
JavaScript APIs - The Web is the Platform - .toster conference, MoscowJavaScript APIs - The Web is the Platform - .toster conference, Moscow
JavaScript APIs - The Web is the Platform - .toster conference, Moscow
 
yapi.js introduction (mopcon 2016 version)
yapi.js introduction (mopcon 2016 version)yapi.js introduction (mopcon 2016 version)
yapi.js introduction (mopcon 2016 version)
 
WebRTC & Firefox OS - presentation at Google
WebRTC & Firefox OS - presentation at GoogleWebRTC & Firefox OS - presentation at Google
WebRTC & Firefox OS - presentation at Google
 
How to implement camera recording for USB webcam or IP camera in C#.NET
How to implement camera recording for USB webcam or IP camera in C#.NETHow to implement camera recording for USB webcam or IP camera in C#.NET
How to implement camera recording for USB webcam or IP camera in C#.NET
 
Real World Seaside Applications
Real World Seaside ApplicationsReal World Seaside Applications
Real World Seaside Applications
 
WinRT Holy COw
WinRT Holy COwWinRT Holy COw
WinRT Holy COw
 
OpenCMIS Part 1
OpenCMIS Part 1OpenCMIS Part 1
OpenCMIS Part 1
 
JavaScript APIs - The Web is the Platform
JavaScript APIs - The Web is the PlatformJavaScript APIs - The Web is the Platform
JavaScript APIs - The Web is the Platform
 
Android workshop
Android workshopAndroid workshop
Android workshop
 
Adobe OSMF Overview
Adobe OSMF OverviewAdobe OSMF Overview
Adobe OSMF Overview
 
The Open Web and what it means
The Open Web and what it meansThe Open Web and what it means
The Open Web and what it means
 
Building Apps with SwiftUI and Firebase
Building Apps with SwiftUI and FirebaseBuilding Apps with SwiftUI and Firebase
Building Apps with SwiftUI and Firebase
 
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
Leave No One Behind with HTML5 - FFWD.PRO, CroatiaLeave No One Behind with HTML5 - FFWD.PRO, Croatia
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
 
Symfony tips and tricks
Symfony tips and tricksSymfony tips and tricks
Symfony tips and tricks
 
Replacing ActiveRecord callbacks with Pub/Sub
Replacing ActiveRecord callbacks with Pub/SubReplacing ActiveRecord callbacks with Pub/Sub
Replacing ActiveRecord callbacks with Pub/Sub
 
Caliburn.Micro
Caliburn.MicroCaliburn.Micro
Caliburn.Micro
 
Introduction To Webrtc
Introduction To WebrtcIntroduction To Webrtc
Introduction To Webrtc
 
HTML5 APIs - native multimedia support and beyond - University of Leeds 05.05...
HTML5 APIs - native multimedia support and beyond - University of Leeds 05.05...HTML5 APIs - native multimedia support and beyond - University of Leeds 05.05...
HTML5 APIs - native multimedia support and beyond - University of Leeds 05.05...
 
ReactJS for Programmers
ReactJS for ProgrammersReactJS for Programmers
ReactJS for Programmers
 

More from WindowsPhoneRocks

23 silverlight apps on windows phone 8.1
23   silverlight apps on windows phone 8.123   silverlight apps on windows phone 8.1
23 silverlight apps on windows phone 8.1
WindowsPhoneRocks
 
22 universal apps for windows
22   universal apps for windows22   universal apps for windows
22 universal apps for windows
WindowsPhoneRocks
 
20 tooling and diagnostics
20   tooling and diagnostics20   tooling and diagnostics
20 tooling and diagnostics
WindowsPhoneRocks
 
19 programming sq lite on windows phone 8.1
19   programming sq lite on windows phone 8.119   programming sq lite on windows phone 8.1
19 programming sq lite on windows phone 8.1
WindowsPhoneRocks
 
16 interacting with user data contacts and appointments
16   interacting with user data contacts and appointments16   interacting with user data contacts and appointments
16 interacting with user data contacts and appointments
WindowsPhoneRocks
 
15 sensors and proximity nfc and bluetooth
15   sensors and proximity nfc and bluetooth15   sensors and proximity nfc and bluetooth
15 sensors and proximity nfc and bluetooth
WindowsPhoneRocks
 
14 tiles, notifications, and action center
14   tiles, notifications, and action center14   tiles, notifications, and action center
14 tiles, notifications, and action center
WindowsPhoneRocks
 
13 networking, mobile services, and authentication
13   networking, mobile services, and authentication13   networking, mobile services, and authentication
13 networking, mobile services, and authentication
WindowsPhoneRocks
 
12 maps, geolocation, and geofencing
12   maps, geolocation, and geofencing12   maps, geolocation, and geofencing
12 maps, geolocation, and geofencing
WindowsPhoneRocks
 
11 background tasks and multitasking
11   background tasks and multitasking11   background tasks and multitasking
11 background tasks and multitasking
WindowsPhoneRocks
 
10 sharing files and data in windows phone 8
10   sharing files and data in windows phone 810   sharing files and data in windows phone 8
10 sharing files and data in windows phone 8
WindowsPhoneRocks
 
09 data storage, backup and roaming
09   data storage, backup and roaming09   data storage, backup and roaming
09 data storage, backup and roaming
WindowsPhoneRocks
 
08 localization and globalization in windows runtime apps
08   localization and globalization in windows runtime apps08   localization and globalization in windows runtime apps
08 localization and globalization in windows runtime apps
WindowsPhoneRocks
 
07 windows runtime app lifecycle
07   windows runtime app lifecycle07   windows runtime app lifecycle
07 windows runtime app lifecycle
WindowsPhoneRocks
 
05 programming page controls and page transitions animations
05   programming page controls and page transitions animations05   programming page controls and page transitions animations
05 programming page controls and page transitions animations
WindowsPhoneRocks
 
04 lists and lists items in windows runtime apps
04   lists and lists items in windows runtime apps04   lists and lists items in windows runtime apps
04 lists and lists items in windows runtime apps
WindowsPhoneRocks
 
03 page navigation and data binding in windows runtime apps
03   page navigation and data binding in windows runtime apps03   page navigation and data binding in windows runtime apps
03 page navigation and data binding in windows runtime apps
WindowsPhoneRocks
 
02 getting started building windows runtime apps
02   getting started building windows runtime apps02   getting started building windows runtime apps
02 getting started building windows runtime apps
WindowsPhoneRocks
 
01 introducing the windows phone 8.1
01   introducing the windows phone 8.101   introducing the windows phone 8.1
01 introducing the windows phone 8.1
WindowsPhoneRocks
 

More from WindowsPhoneRocks (20)

3 554
3 5543 554
3 554
 
23 silverlight apps on windows phone 8.1
23   silverlight apps on windows phone 8.123   silverlight apps on windows phone 8.1
23 silverlight apps on windows phone 8.1
 
22 universal apps for windows
22   universal apps for windows22   universal apps for windows
22 universal apps for windows
 
20 tooling and diagnostics
20   tooling and diagnostics20   tooling and diagnostics
20 tooling and diagnostics
 
19 programming sq lite on windows phone 8.1
19   programming sq lite on windows phone 8.119   programming sq lite on windows phone 8.1
19 programming sq lite on windows phone 8.1
 
16 interacting with user data contacts and appointments
16   interacting with user data contacts and appointments16   interacting with user data contacts and appointments
16 interacting with user data contacts and appointments
 
15 sensors and proximity nfc and bluetooth
15   sensors and proximity nfc and bluetooth15   sensors and proximity nfc and bluetooth
15 sensors and proximity nfc and bluetooth
 
14 tiles, notifications, and action center
14   tiles, notifications, and action center14   tiles, notifications, and action center
14 tiles, notifications, and action center
 
13 networking, mobile services, and authentication
13   networking, mobile services, and authentication13   networking, mobile services, and authentication
13 networking, mobile services, and authentication
 
12 maps, geolocation, and geofencing
12   maps, geolocation, and geofencing12   maps, geolocation, and geofencing
12 maps, geolocation, and geofencing
 
11 background tasks and multitasking
11   background tasks and multitasking11   background tasks and multitasking
11 background tasks and multitasking
 
10 sharing files and data in windows phone 8
10   sharing files and data in windows phone 810   sharing files and data in windows phone 8
10 sharing files and data in windows phone 8
 
09 data storage, backup and roaming
09   data storage, backup and roaming09   data storage, backup and roaming
09 data storage, backup and roaming
 
08 localization and globalization in windows runtime apps
08   localization and globalization in windows runtime apps08   localization and globalization in windows runtime apps
08 localization and globalization in windows runtime apps
 
07 windows runtime app lifecycle
07   windows runtime app lifecycle07   windows runtime app lifecycle
07 windows runtime app lifecycle
 
05 programming page controls and page transitions animations
05   programming page controls and page transitions animations05   programming page controls and page transitions animations
05 programming page controls and page transitions animations
 
04 lists and lists items in windows runtime apps
04   lists and lists items in windows runtime apps04   lists and lists items in windows runtime apps
04 lists and lists items in windows runtime apps
 
03 page navigation and data binding in windows runtime apps
03   page navigation and data binding in windows runtime apps03   page navigation and data binding in windows runtime apps
03 page navigation and data binding in windows runtime apps
 
02 getting started building windows runtime apps
02   getting started building windows runtime apps02   getting started building windows runtime apps
02 getting started building windows runtime apps
 
01 introducing the windows phone 8.1
01   introducing the windows phone 8.101   introducing the windows phone 8.1
01 introducing the windows phone 8.1
 

Recently uploaded

Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 

Recently uploaded (20)

Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 

17 camera, media, and audio in windows phone 8.1

  • 1.
  • 2. 2
  • 3.
  • 4. 4
  • 7. // Create NOK Imaging SDK effects pipeline and run it var imageStream = new BitmapImageSource(image.AsBitmap()); using (var effect = new FilterEffect(imageStream)) { // Define the filters list var filter = new AntiqueFilter(); effect.Filters = new[] { filter }; // Render the filtered image to a WriteableBitmap. var renderer = new WriteableBitmapRenderer(effect, editedBitmap); editedBitmap = await renderer.RenderAsync(); editedBitmap.Invalidate(); // Show image in Xaml Image control Image.Source = editedBitmap; }
  • 8. 8
  • 9.
  • 12. 12
  • 13. // Create MediaCapture and init mediaCapture = new MediaCapture(); await mediaCapture.InitializeAsync(); // Assign to Xaml CaptureElement.Source and start preview PreviewElement.Source = mediaCapture; await mediaCapture.StartPreviewAsync(); // Create MediaCapture and init mediaCapture = new MediaCapture(); await mediaCapture.InitializeAsync(); // Interop between new MediaCapture API and SL 8.1 to show // the preview in SL XAML as Rectangle.Fill var previewSink = new MediaCapturePreviewSink(); var videoBrush = new VideoBrush(); videoBrush.SetSource(previewSink); PreviewElement.Fill = videoBrush; // Find the supported preview size var vdc = mediaCapture.VideoDeviceController; var availableMediaStreamProperties = vdc.GetAvailableMediaStreamProperties(MediaStreamType.VideoPreview); // More LINQ selection happens here in the demo to find closest format var previewFormat = availableMediaStreamProperties.FirstOrDefault(); // Start Preview stream await vdc.SetMediaStreamPropertiesAsync(MediaStreamType.VideoPreview, previewFormat); await mediaCapture.StartPreviewToCustomSinkAsync( new MediaEncodingProfile { Video = previewFormat }, previewSink);
  • 14. public async Task CapturePhoto() { // Create photo encoding properties as JPEG and set the size that should be used for capturing var imgEncodingProperties = ImageEncodingProperties.CreateJpeg(); imgEncodingProperties.Width = 640; imgEncodingProperties.Height = 480; // Create new unique file in the pictures library and capture photo into it var photoStorageFile = await KnownFolders.PicturesLibrary.CreateFileAsync("photo.jpg", CreationCollisionOption.GenerateUniqueName); await mediaCapture.CapturePhotoToStorageFileAsync(imgEncodingProperties, photoStorageFile); }
  • 15. HardwareButtons.CameraHalfPressed += HardwareButtonsOnCameraHalfPressed; HardwareButtons.CameraPressed += HardwareButtonsOnCameraPressed; private async void HardwareButtonsOnCameraHalfPressed(object sender, CameraEventArgs cameraEventArgs) { await mediaCapture.VideoDeviceController.FocusControl.FocusAsync(); } private async void HardwareButtonsOnCameraPressed(object sender, CameraEventArgs cameraEventArgs) { await CapturePhoto(); }
  • 16. public async Task StartVideoRecording() { // Create video encoding profile as MP4 var videoEncodingProperties = MediaEncodingProfile.CreateMp4(VideoEncodingQuality.Vga); // Create new unique file in the videos library and record video! var videoStorageFile = await KnownFolders.VideosLibrary.CreateFileAsync("video.mp4", CreationCollisionOption.GenerateUniqueName); await mediaCapture.StartRecordToStorageFileAsync(videoEncodingProperties, videoStorageFile); } public async Task StopVideoRecording() { await mediaCapture.StopRecordAsync(); // Start playback in MediaElement var videoFileStream = await videoFile.OpenReadAsync(); PlaybackElement.SetSource(videoFileStream, videoFile.ContentType); }
  • 17. var zoomControl = mediaCapture.VideoDeviceController.Zoom; if (zoomControl != null && zoomControl.Capabilities.Supported) { SliderZoom.IsEnabled = true; SliderZoom.Maximum = zoomControl.Capabilities.Max; SliderZoom.Minimum = zoomControl.Capabilities.Min; SliderZoom.StepFrequency = zoomControl.Capabilities.Step; SliderZoom currentValue; if (zoomControl.TryGetValue(out currentValue)) { SliderZoom.Value = currentValue; } SliderZoom.ValueChanged += (s, e) => zoomControl.TrySetValue(SliderZoom.Value); } else { SliderZoom.IsEnabled = false; }
  • 18. 18
  • 19. 19
  • 20. 25
  • 21. // Wire up current screen as input for the MediaCapture var screenCapture = ScreenCapture.GetForCurrentView(); mediaCapture = new MediaCapture(); await mediaCapture.InitializeAsync(new MediaCaptureInitializationSettings { VideoSource = screenCapture.VideoSource, AudioSource = screenCapture.AudioSource, }); // Create video encoding profile as MP4 var videoEncodingProperties = MediaEncodingProfile.CreateMp4(VideoEncodingQuality.Vga); // Create new unique file in the videos library and record video! var videoStorageFile = await KnownFolders.VideosLibrary.CreateFileAsync("screenrecording.mp4", CreationCollisionOption.GenerateUniqueName); await mediaCapture.StartRecordToStorageFileAsync(videoEncodingProperties, videoStorageFile);
  • 22. 27
  • 23.
  • 24. 29
  • 25. 30
  • 26. mediaComposition = new MediaComposition(); foreach (StorageFile videoFile in videoFiles) { // Create Clip and add to composition var clip = await MediaClip.CreateFromFileAsync(videoFile); mediaComposition.Clips.Add(clip); // Create thumbnail to show as placeholder in an UI ListView var thumbnail = await videoFile.GetThumbnailAsync(ThumbnailMode.VideosView); var image = new BitmapImage(); image.SetSource(thumbnail); // Add to a viewmodel used as ItemsSource for a ListView of clips videoClips.Add(new VideoClip(clip, image, videoFile.Name)); }
  • 27. // Trimming. Skip 1 second from the beginning of the clip and 2 from the end var clipVm = videoClips.SelectedClip; clipVm.Clip.TrimTimeFromStart = TimeSpan.FromSeconds(1); clipVm.Clip.TrimTimeFromEnd = clipVm.Clip.OriginalDuration.Subtract(TimeSpan.FromSeconds(2)); // Add MP3 as background which was deployed together with the AppX package var file = await Package.Current.InstalledLocation.GetFileAsync("mymusic.mp3"); var audio = await BackgroundAudioTrack.CreateFromFileAsync(file); mediaComposition.BackgroundAudioTracks.Add(audio);
  • 28. // Play the composed result including all clips and the audio track in a Xaml MediaElement var w = (int) MediaElement.ActualWidth; var h = (int) MediaElement.ActualHeight; MediaElement.SetMediaStreamSource(mediaComposition.GeneratePreviewMediaStreamSource(w, h))); // Create output file var vidLib = KnownFolders.VideosLibrary; var resultFile = await vidLib.CreateFileAsync("myComposition.mp4", CreationCollisionOption.ReplaceExisting); // Encode new composition as MP4 to the file var mediaEncodingProfile = MediaEncodingProfile.CreateMp4(VideoEncodingQuality.Vga); await mediaComposition.RenderToFileAsync(resultFile, MediaTrimmingPreference.Fast, mediaEncodingProfile);
  • 29. 34
  • 30.
  • 33. 38
  • 34. 39
  • 35. // Attach event handler to background player to update UI BackgroundMediaPlayer.Current.CurrentStateChanged += MediaPlayerStateChanged; // Uri could also be ms-appx:/// for package-local tracks BackgroundMediaPlayer.Current.SetUriSource(new Uri("http://foo.bar/my.mp3")); // Starts play since MediaPlayer.AutoPlay=true by default // Or trigger manually play when AutoPlay=false BackgroundMediaPlayer.Current.Play(); // Pause. BackgroundMediaPlayer.Current.Pause(); // Stop. There's no MediaPlayer.Stop() method BackgroundMediaPlayer.Current.Pause(); BackgroundMediaPlayer.Current.Position = TimeSpan.FromSeconds(0);
  • 36. private async void MediaPlayerStateChanged(MediaPlayer sender, object args) { // This event is called from a background thread, so dispatch to UI await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { switch (BackgroundMediaPlayer.Current.CurrentState) { case MediaPlayerState.Playing: AppBarBtnPause.IsEnabled = true; // Pass params on to background process, so it can update the UVC text there BackgroundMediaPlayer.SendMessageToBackground(new ValueSet { {"Title", "My Super MP3"}, {"Artist", "Foo Bar"} }); break; case MediaPlayerState.Paused: AppBarBtnPause.IsEnabled = false; break; } }); }
  • 37. public void Run(IBackgroundTaskInstance taskInstance) { // Initialize SMTC object to talk with UVC // This is intended to run after app is paused, // therefore all the logic must be written to run in background process systemmediatransportcontrol = SystemMediaTransportControls.GetForCurrentView(); systemmediatransportcontrol.ButtonPressed += SystemControlsButtonPressed; systemmediatransportcontrol.IsEnabled = true; systemmediatransportcontrol.IsPauseEnabled = true; systemmediatransportcontrol.IsPlayEnabled = true; // Add handlers to update SMTC when MediaPlayer is used in foreground BackgroundMediaPlayer.Current.CurrentStateChanged += BackgroundMediaPlayerCurrentStateChanged; BackgroundMediaPlayer.MessageReceivedFromForeground += BackgroundMediaPlayerOnMessageReceived; }
  • 38. private void BackgroundMediaPlayerOnMessageReceived(object sender, MediaPlayerDataReceivedEventArgs e) { // Update the UVC text systemmediatransportcontrol.DisplayUpdater.Type = MediaPlaybackType.Music; systemmediatransportcontrol.DisplayUpdater.MusicProperties.Title = e.Data["Title"].ToString(); systemmediatransportcontrol.DisplayUpdater.MusicProperties.Artist = e.Data["Artist"].ToString(); systemmediatransportcontrol.DisplayUpdater.Update(); }
  • 39. 44
  • 40. 45
  • 41. 46 Windows Phone 8 Windows Phone 8.1 Silverlight Windows Phone 8.1 WinRT Windows 8.1 Getting photos PhotoChooserTask XNA MediaLibrary PhotoChooserTask XNA MediaLibrary FileOpenPicker KnownFolders FileOpenPicker KnownFolders CameraCaptureUI FileOpenPicker KnownFolders Storing photos XNA MediaLibrary XNA MediaLibrary FileSavePicker KnownFolders FileSavePicker KnownFolders FileSavePicker KnownFolders Getting videos No FileOpenPicker KnownFolders FileOpenPicker KnownFolders CameraCaptureUI FileOpenPicker KnownFolders Storing videos No FileSavePicker KnownFolders FileSavePicker KnownFolders FileSavePicker KnownFolders
  • 42. 47 Windows Phone 8 Windows Phone 8.1 Silverlight Windows Phone 8.1 WinRT Windows 8.1 Windows.Phone. Media.Capture Yes No No No Windows. Media.Capture No Yes Yes Yes VariablePhoto- SequenceCapture No Yes Yes No ScreenCapture No Yes Yes No
  • 43. 48 Windows Phone 8 Windows Phone 8.1 Silverlight Windows Phone 8.1 WinRT Windows 8.1 Windows.Media. Editing No Yes Yes No Windows.Media. Transcoding No Yes Yes Yes
  • 44. 49 Windows Phone 8 Windows Phone 8.1 Silverlight Windows Phone 8.1 WinRT Windows 8.1 Windows.Media. BackgroundPlayback No No Yes No Microsoft.Phone. BackgroundAudio Yes No No No MediaElement AudioCategory= "BackgroundCapable Media" No No No Yes
  • 45. ©2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.