2013. 9. 13. 15:00

 남이 만들어논 코드 분석하고 있는데....

 

 

 

 

 

 

0x80004001 - Microsoft JScript 런타임 오류: 구현되지 않았습니다.

 

분명 잘 작동하는 코드이고 검증이 끝난 코드인지라 물어볼때도 없고 ㅡ.-;;;

구글 검색해도 그렇다할 내용은 나오지 않습니다.

 

그러던중......

아!

제가 서버에 원격으로 붙어서 작업 하고 있는데 서버는 사운드카드가 없습니다....

 

"에이~설마"

하면서 개발피씨에서 돌려보니 돌아가네 ㅡ,.ㅡ;;;;

 

문제는 사운드카드가 없는 pc에서는 오류때문에 웹페이지만 멀뚱멀뚱 봐야 한다는 것입니다-_-;;;;;;

그러니 사운드카드가 사용가능한지 확인하고 나서 사운드 관련작업을 해야 한다는 이야기 입니다. ㅎㅎㅎ

 

사운드카드 자체를 확인할 방법은 편법(윈도우 미디어 플래이어의 'IsSoundCardEnabled' 속성을 확인 하는 방법)과 'try catch'뿐인듯 합니다.

 

this.IsSound = true;
try
{
	var aa = new Audio();
	this.IsSound = true;
}
catch(err)
{
	this.IsSound = false;
}

 

 

'Audio()'를 호출했는데 사운드카드를 사용할 수 없으면 에러가 납니다.

그러니 이걸 'try'잡아 사운드를 사용할수 없다고 알리면 됩니다.

 

나머지 코드에서는 이 값을 가지고 사운드 관련 처리를 할지말지 결정하면 되죠.

 

그런데 크롬에서는 이방법이 통하지 않습니다-_-;