AquesTalk BBS
TOP > 過去ログ > 記事閲覧
fld_nor.gif rubyのwin32oleからコールでエラー
投稿日 : 2010/02/02 20:53
投稿者 まさ
参照先
こんにちわ。

AquesTalk2をrubyから使おうと思い、以下のようにサンプル作成をしたところエラーとなってしまいました。
----------以下ソース--------

require 'Win32API'

talk2 = Win32API.new('AquesTalk2Da.dll', 'AquesTalk2Da_PlaySync', 'PL', 'L')

p talk2.call("はじめま'して",100,0)

-------------

AquesTalk2Da_PlaySyncの引数は3つなのに
「wrong number of arguments(3 for 2) (ArgumentError)」として引数がおかしいとのこと。

試しに第3引数を消して実行したところ、
音声は再生されないまま返り値が1001となりました。
(0以外はエラーとのことなので失敗?)

もし、rubyからAquesTalk2を使っている方がいたら正しい呼び出し方を教えていただけますでしょうか。

よろしくお願いします。
件名 Re: rubyのwin32oleからコールでエラー
投稿日 : 2010/02/06 08:30
投稿者 まさ
参照先
ご指摘の通りにしたら無事に動作しました。
なんてことはないWIN32APIの呼び出し方がわかってなかっただけでした。
ありがとうございました!
件名 Re: rubyのwin32oleからコールでエラー
投稿日 : 2010/02/03 07:21
投稿者 管理人
参照先
RUBY使ったことないですが、引数指定のPL がPLL じゃないですか?

- WEB PATIO -