2013-02-18 2 views
0

내 프로젝트의 루트 디렉토리에있는 "Song.mp3"이라는 파일에 액세스하여 재생할 수 있지만 "assets"디렉토리에 넣으면 오류가 발생합니다. 내가 액세스 Song.mp3 루트 폴더에 위치하지만 난/Song.mp3을 자산을 연주 할 때이 오류가 재생할 수 있습니다다른 폴더에있는 사운드를 재생하는 방법은 무엇입니까?

- Test 
-- src 
--- Homeview.mxml 
-- assets 
--- Song.mp3 
-- Song.mp3 

:

여기 내 프로젝트 디렉토리입니다.

이 작동 :

var req:URLRequest = new URLRequest('../Song.mp3'); 

이하지 않습니다 :

var req:URLRequest = new URLRequest('../assets/Song.mp3'); 

나는 다음과 같은받을 런타임 오류 :

Error #2044: Unhandled ioError:. text=Error #2032: Stream Error. URL: app:/assets/Song.mp3 

나는 Song.mp3 루트 디렉토리에 수출 얻을 생각 최종 swf 파일에는 있지만 자산/Song.mp3에는 없습니다. 그렇다면 Flex에 자산/Song.mp3을 내보내도록 강제하는 방법이 있습니까?

+0

임베디드 자산이 아니기 때문에; 그것은 전혀 수출되지 않을 것입니다. 프로덕션 서버의 적절한 위치에 mp3 파일을 저장하는 것은 전적으로 사용자의 몫입니다. 플래시 빌더에는 임베디드 애셋 이외의 것들을 이동시키는 설정이있을 수 있다고 생각합니다. – JeffryHouser

+0

내 프로젝트는 "Flex Mobile Project"입니다. Flex를 모든 대상 플랫폼에 맞게 기본 응용 프로그램으로 컴파일합니다. 따라서 웹 서버가 없습니다. Flex에서 'assets'디렉토리의 모든 파일을 내보내도록 할 수 있습니까? 나는 주 swf 파일이 매우 커질수록 모든 파일을 포함시키고 싶지 않다. – bman

+0

예, 모바일 프로젝트를 사용하면 최종 IPA 또는 APK 파일에 포함 할 자산을 선택할 수 있습니다. 내보내기를 수행 할 때 Flash Builder에 옵션이 있습니다. – JeffryHouser

답변

1

파일 클래스 즉, File.applicationStorageDirectory.resolvepath ("your url") 또는 File.applicationDirectory.resolvepath ("your url")를 사용할 수 있습니다. 파일 유형 변수에 저장하고 file.url 또는 file을 사용하십시오. nativePath - 파일에 액세스합니다. 그러면 applicaton 폴더에있는 외부 파일을 검색 할 수 있습니다.

+0

내가 주로 잘못하고 있었던 것은 src 폴더 밖에 "assets"폴더를 배치하는 것이 었습니다. 최종 프로젝트로 내보내기 위해 내 자산 디렉토리를 src 폴더에 배치해야한다는 것을 알았습니다. – bman

+1

이것은 100 % 사실입니다. :) 이것이 다른 사람에게도 도움이되기를 바랍니다! –

관련 문제