HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2022
0318
momo棒読みちゃんのコメントを受信2解決


momo

リンク

2022/3/18(Fri) 15:42:29|NO.95760

棒読みちゃんを起動状態で以下のソースを実行するとこんにちは。HSP。と読み上げますが、
メッセージの送信ではなく、外部ツールで棒読みちゃんがコメントを受信をした時、
コメントに応じて処理をしたいと思っています。
受信は棒読みちゃん側で処理しているのでこういうことは出来ないのでしょうか?

単純にsockputをsockgetにすればいいと思いましたが、
フリーズして動作出来ませんでした。


#include "hspsock.as"
port=50001 text="こんにちは。HSP。" speed = -1 ;標準の設定 tone = -1 ;標準の設定 volume = -1 ;標準の設定 voice = 0 ;0:棒読みちゃん画面上の設定、1:女性1、2:女性2、3:男性1、4:男性2、5:中性、6:ロボット、7:機械1、8:機械2、10001〜:SAPI5 だそう。 code = 2 ;0:UTF-8, 1:Unicode, 2:Shift-JIS len = strlen(text) ;文字数 sdim buf, 15 ;ってもHSPの仕様上64byte確保されるけど。 wpoke buf, 0, $0001 wpoke buf, 2, speed wpoke buf, 4, tone wpoke buf, 6, volume wpoke buf, 8, voice poke buf,10, code lpoke buf,11, len sockopen 0, "localhost", port sockputb buf, 0, 15, 0 sockput text, 0 sockclose



この記事に返信する


TOMATO

リンク

2022/3/19(Sat) 00:27:40|NO.95763

外部ツール → HSP → 棒読みちゃん
といった感じにHSPを中継するような処理を記述する必要があると思います。

中継する都合上、棒読みちゃん側のポート番号を変更する必要があります。
(同じポート番号を使うことができないので別にする必要がある)

棒読みちゃん基本設定→システム→アプリケーション連携→02)Socket連携→02)ポート番号
を50001から50002に変更します。変更しただけでは反映されないみたいなので、
棒読みちゃんを再起動してください。外部ツール側はポート番号を変更しないでください。


#include "hspsock.as" // 中継用ポート番号 ThisPortNo = 50001 // 棒読みちゃん側ポート番号 BouyomiPortNo = 50002 *main // 中継用処理 sockmake 1, ThisPortNo if stat : dialog "Socket make error": end repeat title "受信待機中 " + cnt sockwait 1 if stat>1 : dialog "Socket error": goto *errbye if stat=0 : break wait 10 loop title "受信中" // ヘッダ部データ受信 sdim headerBuf, 15 sockgetb headerBuf, 0, 15, 1 // 文字列データ受信 strLength = lpeek(headerBuf, 11) sdim bufStr, strLength sockgetb bufStr, 0, strLength, 1 // 中継用ソケットを閉じる sockclose 1 // 受信内容を表示 charCode = peek(headerBuf, 10) switch charCode case 0 // UTF-8 mes "★サポートされていないUTF-8が指定されました★" swbreak case 1 // UTF-16 mes cnvwtos(bufStr) swbreak case 2 // Shift_JIS mes bufStr swbreak default mes "★サポートされていない文字コードが指定されました★" swbreak swend // 棒読みちゃん側へ中継する title "送信中" sockopen 0, "localhost", BouyomiPortNo sockputb headerBuf, 0, 15, 0 sockput bufStr, 0 sockclose 0 goto *main *errbye sockclose 1 end



momo

リンク

2022/3/20(Sun) 18:02:01|NO.95783

同じポートは駄目なのは知りませんでした。
HSPを中継する処理の方は自分で作れそうなのでやってみます。
ありがとうございました!



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.95760への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2021(c) All rights reserved.