2013-06-02 2 views
1

JavaScript로 스케치를 내보낼 때 내 처리 스케치에서 사운드를 구현하려면 어떻게해야합니까?오디오가있는 처리 스케치를 JavaScript로 내보내기

두 개의 오디오 (.wav) 루프가 포함 된 처리에서 스케치를 작성했습니다. 이 루프는 Movie 클래스를 통해 mousePressed()mouseDragged()에 재생됩니다. 스케치는 일반/Java 모드에서 작동하지만 JavaScript 모드로 변경하면로드되지 않습니다. 스케치는 사운드를 제거 할 때 JavaScript 모드에서만 작동합니다.

나는 Movie 클래스뿐만 아니라 미님 같은 라이브러리의 스케치 예를 사용하는 다른 스케치 내가 자바 스크립트로 내보낼 때로드에 실패 것으로 나타났습니다, 그래서 나는 실제 코드보다는 내 구현에 문제가 있다고 생각 .

iPad의 Safari를 통해 궁극적으로 스케치를 사용할 계획입니다.

미리 감사드립니다. 어떤 스케치를로드하기 전에 페이지에 정상적인 JS 스크립트로 포함하고, 그 미님 불평하지 않습니다 스케치는 알 수없는 일 -

답변

2

은 미님를 들어, https://github.com/Pomax/Pjs-2D-Game-Engine/blob/master/minim.js 같은 비교적 간단한 심 (shim)을 사용할 수 있습니다.

Processing.js는 스케치를 기본 JavaScript로 컴파일하기 때문에 Minim과 같은 전역 개체는 JavasScript에서도 간단히 에뮬레이트 될 수 있습니다. Minim을 호출하는 함수가 JS "shim"에 정의되어있는 한 잘 작동합니다.

처리 라이브러리가 미리 컴파일 된 Java VM 바이트 코드이기 때문에 Processing.js에서로드 할 수 없으므로 모든 가져 오기 명령문은 무시됩니다.

+0

감사합니다. Mike. 저는 이제 Minim을 오디오에 사용하고 있습니다. 그것은 정상/자바 모드에서 작동하지만 여전히 자바 스크립트 모드에서는 작동하지 않습니다. minim.js를 추가하고 index.html에서이를 참조하고 심의 코드와 일치하도록 .pde 코드를 변경했습니다. 그래서 Minim을 호출하는 모든 함수가 JS 심에서 정의됩니다 (예를 들어'trigger()'가'play()'로 바뀌고'AudioSample'이'AudioPlayer'로 바뀌 었습니다. 나는이 사람이 한 일을 따라했습니다. 그들은 일할 래퍼를 가지고있는 것 같습니다 : http://www.dineyin.com/ChickenCrossing/. 나는 간단한 것을 놓치고 있습니까? 다시 한 번 감사드립니다. – dwhite

+0

페이지가 minim.js를 두 번로드합니다. 실제로는 문제가 아니지만 수정할 필요가 있습니다. 또한 IE의 조건부 코드를 없애고 싶습니다. 실제 JS 기능 테스트를 사용하면됩니다 : ''. 또한 @pjs preload = "image1, image2, image3 등"하나만 있으면됩니다. 그럼 실제 답변 : 크롬과 파이어 폭스에서 잘 작동하지만 .ogg를 지원하지 않는 IE는 지원하지 않습니다. shim은 지원되는 항목에 따라 .mp3 및 .ogg를 시도하므로 .mp3 사본도 추가해야합니다. 작업. –

+0

도움 주셔서 감사합니다. 이제 Minim이 브라우저에서 작동하게되었습니다. – dwhite