2013-08-21 4 views
1

Windows Phone 8에서 카메라 응용 프로그램을 사용자 지정했습니다. 카메라 캡처에서 각 프레임에 워터 마크 이미지를 추가하고 비디오에 녹화해야합니다.Windows Phone 8에서 수정 된 카메라 프레임에 파일 (인코딩) 작성 방법

I가 다음 코드를 사용하여 미리 각 프레임을 정의 할 수

:

INT [] = pixelData 새로운 INT [(INT) (camera.PreviewResolution.Width camera.PreviewResolution.Height *)]을;

camera.GetPreviewBufferArgb32 (pixelData);

return pixelData;

미리보기로 돌아 가기.

내 문제는 사용자가 카메라를 사용하여 영화를 녹화하는 동안 화면에 프레임을 표시 할 수 있지만 WP8이 프레임과 오디오를 파일로 인코딩하도록 인코딩 할 수있는 해결책을 찾는다는 것입니다.

저는 이미 opencv, libav 및 그 밖의 사람들이 성공없이 시도했는데, 누군가가 올바른 방향으로 나를 가리킬 수 있다면 큰 도움이 될 것입니다.

+0

정말 관리 코드에서 런타임에 워터 마크를 추가하는 것은 좋지 않습니다. 파일 스트림 싱크의 모든 프레임에 추가하더라도 비디오 용 MediaLibrary에 액세스 할 수 없으므로 어디에서나 비디오를 저장할 수 없습니다. –

+0

새로운 Nokia Lumia Imaging API를 한 번 사용해 보겠습니다. 그 말에는 우스운 도서관이 있습니다. 모든 Windows 전화에서 작동합니다. –

+0

해결책을 찾았습니까? – prakash

답변

-2

이렇게 할 수 있습니다.

private void GetCameraPicture_Click(object sender, RoutedEventArgs e) 
{ 
    Microsoft.Phone.Tasks.CameraCaptureTask cameraCaptureTask = new Microsoft.Phone.Tasks.CameraCaptureTask(); 
    cameraCaptureTask.Completed += cct_Completed; 
    cameraCaptureTask.Show(); 
} 

try 
{ 
    if (e.TaskResult == Microsoft.Phone.Tasks.TaskResult.OK) 
    { 
     var imageStream = e.ChosenPhoto; 
     var name = e.OriginalFileName; 
     using (MemoryStream mem = new MemoryStream()) 
     { 
      TextBlock tb = new TextBlock() { Text = DateTime.Now.ToString("dd MMM yyyy, HH:mm"), Foreground = new SolidColorBrush(Color.FromArgb(128, 0, 0, 0)), FontSize = 40 }; 
      BitmapImage finalImage = new BitmapImage(); 
      finalImage.SetSource(imageStream); 
      WriteableBitmap wbFinal = new WriteableBitmap(finalImage); 
      wbFinal.Render(tb, null); 
      wbFinal.Invalidate(); 
      wbFinal.SaveJpeg(mem, wbFinal.PixelWidth, wbFinal.PixelHeight, 0, 100); 
      mem.Seek(0, System.IO.SeekOrigin.Begin); 
      MediaLibrary lib = new MediaLibrary(); 
      lib.SavePictureToCameraRoll("Copy" + name, mem.ToArray()); 
     } 
    } 
} 
catch (Exception exp) { MessageBox.Show(exp.Message); } 

희망 사항이 도움이 될 수 있습니다.

+1

그의 질문은 오디오가 아니라 비디오를위한 질문이었습니다. 타사 앱은 MediaLibrary에 비디오를 쓸 수 없습니다. –