2012-12-27 7 views
0

무엇을 시도하고 있습니까?동영상 폴더에서 .mov 비디오를 재생하는 중 오류가 발생했습니다 (MediaElement 사용)

이 같은 비디오 라이브러리에서 QuickTime 동영상로드하려고

: 나는 시도 무엇

async void SetupVideoAsyncAndPlay() { 
    StorageFolder folder = 
       await KnownFolders.VideosLibrary.GetFolderAsync("Video Folder"); 
    StorageFile file = await folder.GetFileAsync("test_video.mov"); 

    // Ensure a file was selected 
    if (file != null) { 
     var fileStream = 
       await file.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite); 

     Video.SetSource(fileStream, file.ContentType); 
     Video.Play(); 
    } 
} 

를?

나는 많은 파기 후에 이것을 보았습니다. 처음에는 Windows.Storage.FileAccessMode.ReadWrite을 읽고 이벤트를 시작하지 않았습니다. 지금, 그것은의 MediaFailed 이벤트를 발생 나는 다음과 같은 얻을의 MediaFailed 이벤트에

(이 Video.MediaOpened += RightVideo_MediaOpened;를 사용하여 등록) :

으로 ErrorMessage = "MF_MEDIA_ENGINE_ERR_SRC_NOT_SUPPORTED : HRESULT - 0xC00D36C4"

내가 가진 XAML에서이 요소를 선언하기 때문에 Visual Tree의 MediaElement (가능한 문제 중 하나)

또한 (직접 응용 프로그램 번들에서) 파일 스트림없이 동일한 비디오를 실행하려고 시도했으며 작동합니다. 나는 피커하여 StorageFile/파일 스트림 코드를 대체하는 경우

또한, 작동 : 나는 비디오 폴더에 대한 Package.appmanifest에 권한을 준

FileOpenPicker openPicker = new FileOpenPicker(); 
openPicker.ViewMode = PickerViewMode.Thumbnail; 
openPicker.FileTypeFilter.Add(".mov"); 
StorageFile file = await openPicker.PickSingleFileAsync(); 
var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read); 

참고.

답변

0

언제 SetupVideoAsyncAndPlay를 호출합니까? 동일한 문제가 발생한 것을 기억하고 MediaElement 초기화가 Loaded 이벤트를 수신 한 후 VisualTree에로드 된 후에 만 ​​이루어 지도록하여 해결했습니다.

희망이 있습니다.

+0

사용자가 버튼을 누를 때'SetupVideoAsyncAndPlay'를 호출합니다. 따라서 MediaElement가 VisualTree에 이미로드되어 있다고 생각합니다. –