SlideShare una empresa de Scribd logo
1 de 45
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.

Más contenido relacionado

La actualidad más candente

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 ProjectsGR8Conf
 
Gradle talk, Javarsovia 2010
Gradle talk, Javarsovia 2010Gradle talk, Javarsovia 2010
Gradle talk, Javarsovia 2010Tomek Kaczanowski
 
Practical Clojure Programming
Practical Clojure ProgrammingPractical Clojure Programming
Practical Clojure ProgrammingHoward Lewis Ship
 
Ansible Workshop for Pythonistas
Ansible Workshop for PythonistasAnsible Workshop for Pythonistas
Ansible Workshop for PythonistasMihai Criveti
 
Bootstrap Jump Start
Bootstrap Jump StartBootstrap Jump Start
Bootstrap Jump StartHaim Michael
 
Añadiendo Jenkins al entorno para Integración continua
Añadiendo Jenkins al entorno para Integración continuaAñadiendo Jenkins al entorno para Integración continua
Añadiendo Jenkins al entorno para Integración continuaCésar Martín Ortiz Pintado
 
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 DockerMarcus Lönnberg
 
Grails Plugin Best Practices
Grails Plugin Best PracticesGrails Plugin Best Practices
Grails Plugin Best PracticesBurt 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 2012Rajmahendra Hegde
 
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 JaFuVMware 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 OpenShiftMihai 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/2013Roland 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 agentsAndrey 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 DeltaSpikeos890
 

La actualidad más candente (20)

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
 
Añadiendo Jenkins al entorno para Integración continua
Añadiendo Jenkins al entorno para Integración continuaAñadiendo Jenkins al entorno para Integración continua
Añadiendo Jenkins al entorno para Integración continua
 
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
 

Destacado

21 app packaging, monetization and publication
21   app packaging, monetization and publication21   app packaging, monetization and publication
21 app packaging, monetization and publicationWindowsPhoneRocks
 
IDC Cloud Transformation Roadshow 2012
IDC Cloud Transformation Roadshow 2012IDC Cloud Transformation Roadshow 2012
IDC Cloud Transformation Roadshow 2012IDC Italy
 
Agile@scale: Portfolio level
Agile@scale: Portfolio levelAgile@scale: Portfolio level
Agile@scale: Portfolio levelFelice Pescatore
 
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 ThesaurusDaniele Galiffa
 
Bat man the animated series face
Bat man the animated series faceBat man the animated series face
Bat man the animated series facePowerPoint 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.1Anup Lakra
 
Smau Torino 2015 - Paolo Pasini
Smau Torino 2015 - Paolo PasiniSmau Torino 2015 - Paolo Pasini
Smau Torino 2015 - Paolo PasiniSMAU
 
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 2014IDC 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 STORIEFrancesco 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 ItaliaAnna 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 PeopleMassimo 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
 

Destacado (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 a 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.pdfShaiAlmog1
 
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#.NETOzeki Informatics Ltd.
 
Real World Seaside Applications
Real World Seaside ApplicationsReal World Seaside Applications
Real World Seaside ApplicationsESUG
 
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 OverviewYoss 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 FirebasePeter 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 tricksJavier Eguiluz
 
Replacing ActiveRecord callbacks with Pub/Sub
Replacing ActiveRecord callbacks with Pub/SubReplacing ActiveRecord callbacks with Pub/Sub
Replacing ActiveRecord callbacks with Pub/Subnburkley
 
Introduction To Webrtc
Introduction To WebrtcIntroduction To Webrtc
Introduction To WebrtcKnoldus 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 ProgrammersDavid Rodenas
 

Similar a 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
 

Más de 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.1WindowsPhoneRocks
 
22 universal apps for windows
22   universal apps for windows22   universal apps for windows
22 universal apps for windowsWindowsPhoneRocks
 
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.1WindowsPhoneRocks
 
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 appointmentsWindowsPhoneRocks
 
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 bluetoothWindowsPhoneRocks
 
14 tiles, notifications, and action center
14   tiles, notifications, and action center14   tiles, notifications, and action center
14 tiles, notifications, and action centerWindowsPhoneRocks
 
13 networking, mobile services, and authentication
13   networking, mobile services, and authentication13   networking, mobile services, and authentication
13 networking, mobile services, and authenticationWindowsPhoneRocks
 
12 maps, geolocation, and geofencing
12   maps, geolocation, and geofencing12   maps, geolocation, and geofencing
12 maps, geolocation, and geofencingWindowsPhoneRocks
 
11 background tasks and multitasking
11   background tasks and multitasking11   background tasks and multitasking
11 background tasks and multitaskingWindowsPhoneRocks
 
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 8WindowsPhoneRocks
 
09 data storage, backup and roaming
09   data storage, backup and roaming09   data storage, backup and roaming
09 data storage, backup and roamingWindowsPhoneRocks
 
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 appsWindowsPhoneRocks
 
07 windows runtime app lifecycle
07   windows runtime app lifecycle07   windows runtime app lifecycle
07 windows runtime app lifecycleWindowsPhoneRocks
 
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 animationsWindowsPhoneRocks
 
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 appsWindowsPhoneRocks
 
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 appsWindowsPhoneRocks
 
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 appsWindowsPhoneRocks
 
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.1WindowsPhoneRocks
 

Más de 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
 

Último

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Último (20)

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.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.