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を返している限り、この機能を使用できるようになります。
このチュートリアルでは、より特定のニーズを持つユーザーにとってビューアをよりアクセシブルにするための様々なオプションの使用方法を説明しています。こちら でご覧いただけます。
