안녕하십니까 도무지 해결이 되지 않아 감히 질문을 올려드렸습니다 (__)
.NET에서 클래스 라이브러리를 생성해
사용자 정의 컨트롤을 생성하여 Wav 재생기를 제작하였습니다.
// 구성요소를 추가 한것은 아래 Directx SDK를 설치한후 구성요소를 추가하였으며
// 구성요소 추가
using Microsoft.DirectX;
using Microsoft.DirectX.AudioVideoPlayback;
namespace ClassLibrary1
{
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
private void UserControl1_Load(object sender, EventArgs e)
{
Audio Player = new Audio(@"C:\Test.wav",true);
}
}
}
간단히 예제를 작성해 보았습니다.
문제는 Windows Form에서 코드 및 샘플 구동시
(Track Bar를 이용하여 Duration 및 볼륨 조정 부분 구성 )을 하였을때는 전혀 문제없이 구동이 되는데
ASP.NET Web Form에서 ActiveX를 참조하는거와 같이 구성하였을때 문제가 발생합니다.
<object id="Control_1" classid="ClassLibrary1.dll#ClassLibrary1.UserControl1"></object>
문제점은
CAS 설정 부분에서 루프백주소 (127.0.0.1) 로 접근하는 부분에 대한 권한을 FullTrust 를 할당해줘도
위의 DirectX.AudioVideoPlayback 의 Audio 인스턴스를 생성하는 부분에서 오류가 발생합니다.
Web Form 로드시 메세지 박스가 Throw되면서
System.Security.SecurityException: 해당 어셈블리에는 부분적으로 신뢰할 수 있는 호출자를 사용할 수 없습니다.
아무리 찾아봐도 방법을 찾을수가 없어 질문 올려봅니다.
굳이 wav 재생을 DirectX를 이용하는 이유는
System.Media.SoundPlayer를 이용해서는 Track 바를 이용한 시간 조정 재생이나 볼륨조정이 어렵다고 느껴졌습니다. 혹시 SoundPlayer를 이용해서도 시간조정이 가능한 방법이 있다면 가르쳐주십시오 (__)
감사드립니다 정성태님 수고하십시오
[최초 등록일: ]
[최종 수정일: 9/12/2012]