2011-02-12 2 views
0

안녕하세요. 모든 사람이이 코드가 작동하지 않는 이유를 알고 계십니까? 다른 부하 [예제 이미지]와사운드 요소를 Flash CS5-as3으로 캐치 해보십시오.

이는 내가지고있어 오류가

mySoundURL = new URLRequest(var+".mp3"); 
mySoundURLDefault = new URLRequest("default.mp3"); 

try{ 
    sound.load(mySoundURL); 
}catch(e:IOErrorEvent){ 
    trace("Can't load sound: "+e); 
    sound.load(mySoundURLDefault); 
} 

:(아니 ... 소리와 함께 완벽하게 작동합니다!

Error #2044: Unhandled IOErrorEvent:. text=Error #2032: Stream Error 

감사합니다 좋은 하루

답변

0

게시물에 많은 정보가 없으므로 다음 조건을 확인하는 것이 좋습니다.

1) Is var+".mp3" 올바른 URI가 있습니까? 기존 파일을 가리 킵니까? 그냥 브라우저에서 시도해보십시오 - 파일을 찾았습니까? 당신은 인터넷에서 파일을 가리키는 경우 하드 드라이브에있는 파일을 재생하려는 경우 당신은 당신이 C와 같은 직접 파일 주소를 사용해야합니다 http://site.com/song.mp3 같은 표기법을 사용한다 : /audio/song.mp3를

2) URI보다 어쩌면 파일보다 ok가 mp3 형식이 아니면.

3) 당신은

  var mySoundURL = new URLRequest(var+".mp3") 
      var context:SoundLoaderContext = new SoundLoaderContext(0, false); 
      snd.load(mySoundURL , context); 
3

같이하고 SoundLoaderContext 플레이를 시도 할 수 있습니다 당신은 로더와 하지 사용 시도/캐치을한다. 여기에 당신이 대신 할 수있는 작업은 다음과 같습니다

sound.addEventListener(IOErrorEvent.IO_ERROR, onIOErrorEvent); 
sound.load(mySoundURL); 

private function onIOErrorEvent(e:IOErrorEvent):void{ 
    trace(e); 
    trace(e.message); 

    //^This will show you the file it tried to load and failed at 

    e.currentTarget.removeEventListener(IOErrorEvent.IOError, onIOErrorEvent); 
    e.currentTarget.removeEventListener(Event.COMPLETE, onComplete; 
    //^don't forget to clean up your listeners! 
} 

그 이유는 당신이 보았 듯이, 포착되지 않은 오류가 당신이 시도 URL을 사운드를로드하지 못했습니다 등하는 등, 도움이 당신에게 아무것도 말하지, 또는 무엇을하지 않는 것입니다 연락했다.

@Alexander Sobolev는 여전히 오류가 발생했다는 사실을 근거로 첫 번째 추측으로 올바른 방향에 있다고 생각합니다. 로더에서 오류를 처리하는 것은 동기 코드에서 오류를 처리하는 것과는 완전히 다르며 try/catch는 여기에 도움이되지 않습니다.

처음 소리가 나지 않을 때 alt 소리를 들으려면 onIOErrorEvent 함수를 사용하십시오. 당신이 의해 IOErrorEvent 수신 것

다른 시간 SWF 또는 이미지 파일

loader.contentLoaderInfo.addEventListener(IOErrorEvent.... 

또는에게은 URLLoader

urlLoader.addEventListener(IOErrorEvent... 
을로드 로더를 사용하는 경우