Macのスピーチ機能を使う
日付 | 2013/06/04 |
---|---|
ID | 13-004 |
バージョン | 13 |
プラットフォーム | Windows, Mac |
Macのスピーチを利用するとき、4Dで表示されているテキストを上手くハンドルできないことがあります。そうした問題に直面したなら、4D側でMacのスピーチをコントロールすることをお勧めします。
例えば、次のサンプルコードは、スピーチを使ってローカル変数$textの内容をしゃべらせます。
//スピーチにしゃべらせるテキスト C_TEXT($text) $text:="AppleScript をターミナルからコマンドラインで呼び出す方法はこれを参考にしてください。" //AppleScript化 C_BLOB($script_x) CONVERT FROM TEXT("say \""+$text+"\"";"UTF-8";$script_x) //ドキュメントにする C_TEXT($script_path_4d;$script_path_unix) $script_path_4d:=String(Milliseconds)+".txt" $script_path_unix:=Get 4D folder(Database Folder Unix Syntax)+$script_path_4d //OSで扱うためのファイルパスを生成 $script_path_4d:=Get 4D folder(Database Folder)+$script_path_4d //4Dで扱うためのファイルパスを生成 BLOB TO DOCUMENT($script_path_4d;$script_x) //Script実行 LAUNCH EXTERNAL PROCESS("osascript "+$script_path_unix) //ファイル削除 DELETE DOCUMENT($script_path_4d)
この例では、一時的にファイルを作成していますが、これはosascriptコマンドに直接引数として渡せる文字列の長さに制限があるため、それを避ける目的でファイルを使っています。