2016-12-07 17 views
0

저는 현재 Media Overlay를 사용할 epub3 프로젝트에서 작업하고 있습니다.javascript (epub3 미디어 오버레이)를 통해 시스템 컨트롤을 읽을 수 있습니다.

각 페이지에 2 개의 버튼을 추가하고 싶습니다. 하나는 노래를 재생하기위한 것이고 하나는 재생을위한 것이고이 노래의 아카펠라 버전은 미디어 오버레이로 강조 표시 한 텍스트를 사용합니다.

자바 스크립트를 통해 읽기 장치 컨트롤에 액세스하여 그와 같은 것을 트리거 할 수있는 방법이 있습니까? 즉, 장치 컨트롤을 직접 누르지 않고 버튼을 클릭하여 소리내어 읽기를 원합니다.

도움 주셔서 감사합니다.

답변

0

짧은 대답은 : 아니오, 신뢰할 수있는 플랫폼 간 방법이 없습니다. ("크로스 플랫폼"이란 "임의의 읽기 시스템에서 작동하는"것을 의미합니다.)

EPUB 사양은 Javascript 기능을 노출하기 위해 판독 시스템 (RS)을 요구하지 않습니다. JS 기능을 가진 RS'e의 경우 EPUB 사양은 해당 국가의 "조작"을 지원하지 않아도됩니다. 또한 EPUB 사양에서는 각 콘텐츠 문서 (즉, XHTML 파일)가 최대 하나의 SMIL 파일과 연결되어야하지만 두 개는 만들어야합니다. 하나는 전체 오디오 파일을 참조하고 다른 하나는 카펠라 오디오 파일을 참조하는 것입니다. 그래서, 종이에, 당신이 원하는 것을 할 수있는 방법이 없습니다.

실제로 미디어 오버레이를 제어하기 위해 JS 핸들을 제공하는 유일한 RS는 iBooks입니다 (iBooks 자산 가이드 참조). 그러나 iBooks에서만 작동하며 고정 레이아웃 (프리 페이지 매김) 변환에 대해서만 작동합니다.

자신 만의 Media Overlay 에뮬레이션 JS 라이브러리를 코딩하려면 https://github.com/pettarin/rb_smil_emulator을보십시오. 그러나, 나는 매우 연약한 접근법이므로, 나 자신의 사용을 비난했다.

+0

안녕하세요 Alberto, 답변 해 주셔서 대단히 감사합니다. iBooks Asset Guide를 확인하고 ibooks : readaloud = "startstop"을 제 버튼에 추가하면 문제가 해결되었습니다. 스타일을 추가하고 싶기 때문에 읽기 전용 기능을 트리거하기 위해 하나의 단추가 있어야했습니다.이 솔루션은 iBooks에서만 작동합니다 (원하는 내용). 완벽합니다. 다시 한번 감사드립니다. – Djullin