2011-03-20 6 views
2

"Foundation Actionscript 3.0"책에서 오디오 플레이어 데모 작업을하고 있습니다. AudioDemo_final.FLA 파일을 게시하려고 할 때 "Adobe Flash CS3 - Flash 무비 파일을 만드는 중 오류가 발생했습니다. 대상 디렉토리가 존재하지 않습니다. 게시 설정을 변경하십시오."라는 오류 메시지가 나타납니다.Adobe Flash 플래시 무비 파일을 만드는 중 오류가 발생했습니다. 대상 디렉토리가 존재하지 않습니다.

오류가 URL 열기 >> 내 출력 패널에 표시됩니다 다음 '파일 : /// C | /Sites/flashcoder.net/FAS3/Audio/AudioDemo%5Ffinal.swf'

내 파일 디렉토리입니다 다음과 같이 설정 : AudioDemo_final.fla 에서는 song1.mp3 com.fas3.smc (폴더) Main.as Sounds.as

//com.fas3.smc/Main.as 
    package com.fas3.smc { 
      import flash.display.MovieClip; 
      import com.fas3.smc.Sounds; 
      import com.fas3.smc.ButtonManager; 
      import flash.text.TextField; 
      import flash.display.SimpleButton; 

      public class Main extends MovieClip { 
        private var soundManager:Sounds; 
        private var buts:ButtonManager; 

        public function Main() { 
          soundManager=new Sounds(movScrubber, txtStatus, txtHeadPosition, txtTrackLength, txtArtist, txtTitle, volumeSlider, panSlider); 
          soundManager.loadSong( song1.mp3 ); 
          addChild(soundManager); 
        } 
      } 
    } 

    //com.fas3.smc/Sounds.as 
    package com.fas3.smc { 
      import flash.media.Sound; 
      import flash.media.SoundChannel; 
      import flash.media.SoundLoaderContext; 
      import flash.media.SoundTransform; 
      import flash.media.ID3Info; 
      import flash.events.Event; 
      import flash.display.MovieClip; 
      import flash.net.URLRequest; 
      import flash.text.TextField; 
      import flash.utils.Timer; 
      import flash.events.TimerEvent; 
      import fl.controls.Slider; 
      import fl.events.SliderEvent; 

      public class Sounds extends MovieClip { 
        private var snd1:Sound; 
        private var sc:SoundChannel; 
        private var buffer:SoundLoaderContext; 
        private var timerLoading:Timer; 
        private var timerPlayHead:Timer; 
        private var timerFF:Timer; 
        private var timerRW:Timer; 
        private var timerSpectrum:Timer; 
        private var barWid:int = 200; 
        private var barHi:int = 5; 
        private var bytLoaded:int; 
        private var bytTotal:int; 
        private var pctLoaded:int; 
        private var trueChronoLength:Number; 
        private var txtStatus:TextField; 
        private var txtTrackLength:TextField; 
        private var txtHeadPosition:TextField; 
        private var txtArtist:TextField; 
        private var txtTitle:TextField; 
        private var movScreen:MovieClip; 
        private var movScrubber:MovieClip; 
        private var multiplier:Number; 
        private var nsMinutes:Number; 
        private var nsSeconds:Number; 
        private var pauseStatus:Boolean; 
        private var playHeadPosition:Number; 
        private var volumeSlider:Slider; 
        private var panSlider:Slider; 
        private var stVolume:SoundTransform; 
        private var tempVol:Number=0.5; 
        private var tempPan:Number=0; 
        private var trackEnd:Boolean; 
        private var trackStart:Boolean; 

        public function Sounds(movScrubber:MovieClip, txtStatus:TextField, txtHeadPosition:TextField, txtTrackLength:TextField, txtArtist:TextField, txtTitle:TextField, volumeSlider:Slider, panSlider:Slider) { 
          //Set movies and text fields to local references and to start positions and contents 
          this.movScreen=movScreen; 
          this.movScrubber=movScrubber; 
          this.txtStatus=txtStatus; 
          this.txtHeadPosition=txtHeadPosition; 
          this.txtTrackLength=txtTrackLength; 
          this.txtArtist=txtArtist; 
          this.txtTitle=txtTitle; 
          this.volumeSlider=volumeSlider; 
          this.panSlider=panSlider; 
          timerLoading=new Timer(100, 0); 
          timerLoading.addEventListener(TimerEvent.TIMER, onLoading); 
          timerLoading.start(); 

        } 

        public function loadSong(song:String):void { 
          snd1=new Sound(new URLRequest(song)) 
          snd1.addEventListener(Event.ID3, id3Handler) 
        } 

        public function onLoading(event.TimerEvent):void { 
          bytLoaded = snd1.bytesLoaded; 
          bytTotal = snd1.bytesTotal; 
          if((bytTotal >= bytLoaded)&&(bytLoaded > 0)) { 
            if(txtStatus.text!= Playing ) { 
              txtStatus.text= Loading ; 
            } 
            movScrubber.movLoaderBar.width=((bytLoaded/bytTotal) * 400); 
            if(bytLoaded == bytTotal) { 
              if(txtStatus.text= Loading ) { 
                txtStatus.text= Load Complete ; 
              } 
              timerLoading.stop() 
            } 
          } 
        } 
      } 
     } 
+1

훨씬 좋습니다. 행운을 빕니다. –

+0

@Dante Jiang 감사합니다. 다시 한번 감사드립니다. :) –

답변

3

그것은 즉, 당신이 당신의 SWF를 게시하고있는 디렉토리 쓰기가 가능하지 않거나 존재하지 않습니다. 실제로 폴더 경로가 존재하고 기록 할 수 있는지 확인하십시오. 여러 번 프로젝트를 다른 위치로 옮기고 FLA에 게시 경로를 하드 코딩하면이 오류가 발생합니다. 파일 -> 제작 설정 -> 형식에 있습니다.

+0

동일한 문제가 확인 된 질문 : ( –

+0

경로에 대해 무엇을 가지고 있습니까?이 파일은 처음에는 유효한 파일 경로가 아닙니다. 거기에 뭐가 있니? : 'file : /// C | /Sites/flashcoder.net/FAS3/Audio/AudioDemo%5Ffinal.swf' – jpea

1

외부 하드 드라이브를 사용하고 있습니까? 한 번 같은 문제가있었습니다. FLA 파일을 바탕 화면이나 로컬 폴더에 복사하면 해결됩니다. 행운을 빕니다.

1

이 파일을 저장할 폴더를 확인하십시오.이 폴더에이 오류가 발생하는 것보다 읽기 전용 권한이 있고 읽기 전용 권한을 제거하면 모든 것이 예상대로 작동합니다. 나는 그것을 시도하고 완벽하게 잘 작동합니다.

1

나는 게시물에 대해 조금 늦은 것을 알고 있지만, 나는 똑같은 문제가 있었다. 실제로 찾아보기 단추를 클릭하고 게시 할 폴더를 선택했기 때문에 문제가 발생했습니다.

검색하는 대신 "기본값"을 클릭하십시오. 파일은 .fla 파일과 동일한 디렉토리에 게시됩니다. 이상한 오류 메시지가 없습니다.