2010-07-25 2 views
1

내 프로젝트 중 하나에서 Silverlight Media Framework를 사용하고 있습니다. 이제 브라우저에서 미디어 파일을 재생하고 싶습니다. 미디어 파일이 PC의 D 드라이브에 있습니까? 파일을 재생하려면 XAML에서 코드를 작성하지만 SMF 플레이어는 미디어 소스를 가져 오지 않습니다. 파일에 액세스하는 데 사용중인 XAML 코드는 다음과 같습니다.Silverlight Media Framework에서 로컬로 파일을 재생하는 방법은 무엇입니까?

<Core:SMFPlayer> 
     <Core:SMFPlayer.Playlist> 
      <Media:PlaylistItem MediaSource="file:///D:/Microsoft Silverlight/1.wmv"></Media:PlaylistItem> 
     </Core:SMFPlayer.Playlist> 
    </Core:SMFPlayer> 

답변

2

Silverlight는 안전한 샌드 박스에서 실행되며 로컬 파일 시스템에 액세스 할 수 없습니다. 사용자가 파일을 선택할 수있게하려면 OpenFileDialog를 사용해야합니다. 그런 다음 MediaPlayer의 소스를 설정할 수 있습니다. OpenFileDialog는 Button.Click과 같이 사용자가 시작한 이벤트에서 호출해야합니다.

다른 방법으로 파일을 웹 서버에 넣고 거기에서로드 할 수 있습니다. 상대 경로를 사용할 수도 있습니다. 웹 프로젝트의 ClientBin 폴더에 넣기 만하면됩니다.

0

다른 방법은 로컬 IIS 서버에서 파일을 호스팅하는 것입니다. 이렇게 할 때 한 가지 문제는 "IIS 인증 통과"를 사용할 때 기본 IIS 설치가 응용 프로그램에 올바른 사용 권한을주지 않는다는 것입니다. 따라서 "Pass Through 계정"에 비디오 파일이있는 경로에 대한 읽기 액세스 권한이 있는지 확인하십시오. 일반적으로 "Pass Through Account"는 응용 프로그램의 응용 프로그램 풀이 사용하는 것과 동일한 계정입니다. 일반 설치의 경우 이는 네트워크 서비스 기본 제공 계정입니다.

0

미디어 파일을 Silverlight 응용 프로그램에 저장해야합니다. 그런 다음 미디어 파일의 속성으로 이동하여 빌드 작업을 리소스로 변경합니다. playlistitem 요소의 mediasource 속성에서 로컬 이름 (C :/[mypath]/[myfilename]이 아닌 myfile.myextension)으로 파일을 참조하십시오.

관련 문제