In this article we will see how to capture a photo using the camera and saving it in the Media Library.
The CameraCaptureTask chooser is used to capture a photo using the Windows Phone's Camera. To work with the CameraCaptureTask, first you need to add the namespace:
Then define a global variable:
In the constructor of the page, you need to instantiate a CameraCaptureTask and attach a completed event handler.
Next you need to show the camera to the user. You can call the Show function anywhere as per your business requirement however I am calling it on the click event of a button as below:
Now in the completed event of the CameraCaptureTask we need to save the image in the Media Library. To work with the Medialibrary, you need to add a reference of Microsoft.Xna.Framework. After adding the reference, add the following namespace:
In the completed event of CameraCaptureTask, make an instance of the MediaLibrary and call the SavePicture method as below:
As you see, the SavePicture function takes two input parameters. It takes the Name of the picture as one input parameter and a picture stream as another. In this example we are saving the picture taken from the camera. You may also save a picture downloaded from services as a stream.
For your reference, the full source code is given below:
public partial class MainPage : PhoneApplicationPage
cameraTask = new CameraCaptureTask();
cameraTask.Completed += new EventHandler<PhotoResult>(cameraTask_Completed);
void cameraTask_Completed(object sender, PhotoResult e)
if (e.TaskResult == TaskResult.OK)
MediaLibrary medialibrary = new MediaLibrary();
private void btnShowCamera_Click(object sender, RoutedEventArgs e)
In this way you can save a picture to the Media Library. I hope this article is useful. Thanks for reading.