2013-10-31 4 views
0

저는 레일에 다소 익숙하며 (약 1 개월 동안 사용하고 있습니다), 개발 중에 일부 에셋을로드하는 데 문제가 있습니다. 자산은 app/assets/javascript에 배치 한 soundfont 폴더입니다. 그것은 acoustic_grand_piano-mp3.js, acoustic_grand_piano-ogg.js 및 mp3 파일의 폴더를 포함합니다. 내가 겪고있는 문제는 서버를 실행하고 localhost : 3000으로 이동했을 때 페이지가로드되지만 발견 할 수 없어서 acoustic_grand_piano-mp3.js를로드하지 못했습니다. 철자를 여러 번 확인했습니다. 페이지가로드 될 때 실행되는 js 코드 (midi.js의 코드)는 다음과 같습니다.Soundfont js 파일이 레일에로드되지 않습니다. 4

window.onload = function() { 
    MIDI.loadPlugin({ 
    soundfontUrl: "./soundfont/", 
    instrument: "acoustic_grand_piano", 
    callback: function() { 
     var delay = 0; // play one note every quarter second 
     var note = 50; // the MIDI note 
     var velocity = 127; // how hard the note hits 
     // play the note 
     MIDI.setVolume(0, 127); 
     MIDI.noteOn(0, note, velocity, delay); 
     MIDI.noteOff(0, note, delay + 0.75); 
    } 
    }); 
}; 

아이디어가 있습니까?

+0

실제 경로와 페이지에서 액세스하려는 경로를 비교합니다 (서버의 로그 파일을 조사하십시오). –

답변

0

최근에 내 Windows Server 웹 호스팅 도메인에서 svg 자산 파일을로드하는 동안 문제가 발생했습니다. IIS 관리 패널에서 svg에 대한 사용자 지정 MIME 형식을 입력해야한다는 것이 밝혀졌습니다. (".svg", "image/svg + xml"처럼 보입니다.)이 사용자 정의 유형을 입력하기 전에 서버에서 파일에 404를 찾을 수 없습니다. 어쩌면 똑같은 일이 일어 났을까요?

0

나는 내 자신의 응용 프로그램에서 잠시 동안 고민했지만 최근에 해결책을 찾았습니다.

공개/사운드와 같이 공용 폴더를 만듭니다. soundfonts 폴더의 3 가지 기본 MIDI 사운드 (acoustic_grand_piano-mp3, acoustic_grand_piano-mp3.js 및 acoustic_grand_piano-ogg.js)를 배치하십시오.

이제 MIDI.loadPlugin의 soundfontUrl을 "sounds /"로 변경하십시오. 나를위한 개발 및 생산에서 일합니다.