JPedalをテキスト読み上げに使用する
JPedalは、ハイライトされたテキストを読み上げる機能を持っています。お好みの音声ライブラリを使用して、既存のJPedal機能と連携させることができます。これは、独自のSpeech実装を作成することで実現できます。
音声エンジンを作成するには、インターフェース org.jpedal.io.Speech を実装する必要があります。このインターフェースには以下の4つのメソッドがあります:
public void setVoice(String voiceName);
このメソッドは、JPedalがテキスト読み上げに使用する音声を設定できるようにします。このメソッドは、不正な名前が渡された場合に対応し、その名前が音声リストにない場合はデフォルトを使用するようにする必要があります。
public boolean speechAvailible();
このメソッドは、クラスが現在テキストを読み上げる能力があるかどうかを判定します。必要なjarファイルが存在することを確認するために使用できます。
public String[] listVoices();
このメソッドは、選択されたテキストを読み上げるために使用できる音声のリストを返します。音声を変更する試みは、このメソッドの戻り値をチェックして、その音声が存在することを確認する必要があります。このメソッドは、ユーザーに選択肢を提供するために、設定ウィンドウで利用可能な音声を表示する際にも使用されます。
public void speakText(final String text);
このメソッドは、実際にテキストを読み上げる処理を実行します。渡されるテキストは、ページ上でハイライトされた抽出されたテキストです。
JPedalのサンプルビューアで音声実装を使用するには、以下の方法で追加する必要があります。機能を追加する際は、以下のようにViewerが作成された後にSpeechクラスを追加する必要があります。
Speech mySpeechImp;
//ここでSpeech実装を初期化します
Viewer viewer = new Viewer();
viewer.setupViewer();
PdfDecoderInt pdfDecoder = viewer.getPdfDecoder();
pdfDecoder.addExternalHandler(mySpeechImp, Options.SpeechEngine);
この後、音声実装の speechAvailible() メソッドが true を返している限り、この機能を使用できるようになります。
このチュートリアルでは、より特定のニーズを持つ方にとってビューアをよりアクセシブルにするために、様々なオプションをどのように使用できるかを説明しています。こちら で確認できます。
