top of page

システム案を思いついた

執筆者の写真: snackvirtualsnackvirtual

当初のシステムのイメージはこんな感じ

漠然としたイメージで実現性がなくて困っていた

ヒントはこの記事

これと自分でやってみた「ずんだもんの声ならちゃんと動作する」という事実

つまりApachとは別にPC内にサーバーを立て、クライアントPCからHTTPでアクセスさせればいい

Flaskなら簡単にサーバーを作れるし、どうもCORSも回避してくれるみたい

これをシステム図にすると

こんな感じかな…

2つのサーバーのポート番号を変えないといけないだろう

あとCeVIO AIで作ったFeeの音声ファイルは置いておくだけでFlask経由でアクセスできるのか?



音声ファイルのアクセスをやってみた

Flask側のポート番号を8080とし、ATERMのポートマッピングでアクセス許可指定

Pythonで以下のように指定し、音声ファイルをフォルダに置く

from flask import Flask, send_from_directory
 
app = Flask(__name__)
 
 
@app.route('/')
def fnc_a():
    return "rootページです"
 
 
@app.route('/sub')
def fnc_1():
    return "subページです"
 
@app.route("/music/<path:filename>")
def play(filename):
    return send_from_directory("music", filename)

if __name__ == '__main__':
    app.run(debug=True, host="0.0.0.0", port=8080)

やってみると、外部からも音声ファイルにアクセスできた



音声の切り替えをやってみた

Python-Flaskを実行状態のまま、同一ファイル名でファイルを入れ替え、ブラウザで再生して確認すると…

どうもキャッシュが残っているみたいで、変える前の音声が流れる

ただ、ダウンロードすると新しい音声が得られるので、切り替えは正常に行われているようだ

またエラーにもならないのでOK!



Unityから呼び出してみた

UnityのAudioPlayerのURLを

に変更


Unityのウインドウではちゃんと動くが、WebGLでBuild and Runすると音声が出ない

やはりこの単純な記載ではCORSでひっかかっているみたいだ

まだCORSが課題であることに変わりなし



ここで音声系に関しては、いったん保留としておこう








閲覧数:3回0件のコメント

最新記事

すべて表示

Comments


bottom of page