이 문제를 해결하는 데 가장 힘든 시간을 보내고 있습니다. URL에서 오디오 및 비디오 파일을로드하는 Silverlight 4 응용 프로그램이 있습니다. URL은 애플리케이션이 호스팅되는 도메인과 동일하며 동영상에 적합합니다.Silverlight MediaElement 오디오 재생 거부
URL은 실제로 서버의 공유 위치에서 파일을 읽고 파일 스트림을 다시 제공하는 asp.net mvc 컨트롤러입니다. 나는 경우
http://localhost:31479/CourseMedia?path= \ omnisandbox1 \ ILMSShare2 데모 - 화재 + 행동 \ 미디어 \ Disclaim.wma \ & 암호화 = 거짓 & ID = 00000000-0000-0000-0000-000000000000
: URL은 다음과 같을 URL을 브라우저에 직접 입력하고 파일을로드하고 Windows Media Player에서 재생하면됩니다. URL을로드하기 위해 별도의 테스트 Silverlight 프로젝트를 사용하면 작동하지만 나에게 제대로 작동하지는 않습니다. 내 주요 프로젝트에서.
protected void SetPlayerURL(MediaElement player, string url)
{
if (player != null && url.Length > 0)
{
player.ClearValue(MediaElement.SourceProperty);
player.Source = new Uri(this.Packet.GetMediaUrl(url, false, Guid.Empty));
}
}
과 GetMediaURL 기능이 단순히 URL 형식은 위에서 본 빌드 :
이public string GetMediaUrl(
string path,
bool encrypted,
Guid key)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat("http://{0}/CourseMedia?path={1}&encrypted={2}&id={3}",
this.Host,
System.Windows.Browser.HttpUtility.UrlEncode(path),
encrypted,
key);
return builder.ToString();
}
컨트롤러에 요청이 결코
이것은 내가하는 데 사용하는 루틴이 실제로 소스 설정을 할 수 있습니다 오디오 인 경우 미디어 용으로 제작되었습니다. 이 정확한 코드가 동영상에서 제대로 작동하므로 이상하게 보입니다. MediaElement 상태가 "Closed"상태가되지 않고 CurrentStateChanged, MediaOpened 및 MediaFailed 이벤트가 트리거되지 않습니다.
나는 분실했습니다!
당신은 이것을 확인 했습니까? Host and path는 유효합니까? – thomasmartinsen