2011-12-12 2 views
1

Я получаю исключение, пытаясь сохранить изображение в обратном вызове CameraCaptureTask. Почему это ? Я отлаживаю через WPConnect.exe, и у меня есть возможность ID_CAP_MEDIALIB.InvalidOperationException при использовании SavePictureToCameraRoll в MediaLibrary

void photoChooserTask_Completed(object sender, PhotoResult e) 
{ 
    if (e.TaskResult == TaskResult.OK) 
    { 
     string fileName = adViewModel.Id + DateTime.Now.Ticks + ".jpg"; 
     using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication()) 
     { 
      if (myIsolatedStorage.FileExists(fileName)) 
      { 
       myIsolatedStorage.DeleteFile(fileName); 
      } 

      IsolatedStorageFileStream fileStream = myIsolatedStorage.CreateFile(fileName); 
      BitmapImage bitmap = new BitmapImage(); 
      bitmap.SetSource(e.ChosenPhoto); 

      WriteableBitmap wb = new WriteableBitmap(bitmap); 
      wb.SaveJpeg(fileStream, wb.PixelWidth, wb.PixelHeight, 0, 85); 
      fileStream.Close(); 

      fileStream = myIsolatedStorage.OpenFile(fileName, FileMode.Open, FileAccess.Read); 
      MediaLibrary library = new MediaLibrary(); 

      // this line throw the exception 
      Picture pic = library.SavePictureToCameraRoll(fileName, fileStream); 
     } 
    } 
} 
+1

Попробуйте добавить функцию ID_CAP_CAMERA. – keyboardP

ответ

0

Согласно этому MSDN entry SavePicture будет сгенерировано исключение, если телефон привязан к компьютеру. Я предполагаю, что SavePictureToCameraRoll будет таким же.

Смежные вопросы