LoginSignup
9
5

More than 3 years have passed since last update.

耳年齢判定ボットを改良(LINEで音声ファイルを再生)

Last updated at Posted at 2020-05-15

概要

普段は耳鼻科の開業医をしています。
以前obnizeのスピーカーからモスキート音を出し加齢性難聴をチェックするLINE Botを作成しました。
耳年齢を判定するLINE Bot×Iotの作成

今回、モスキート音をファイルに入れ、LINEで音声ファイルを再生できるようにしました。

作成方法

1.モスキート音を用意する

こちらを利用しました
Sine Tone Generator

『File Generator』の
『Hz』をモスキート音の周波数に設定、『duration』は3秒とし『DOWNROAD.WAV FILE』をクリックするとダウンロードできます。
各周波数分用意します。

image.png

ダウンロードしたファイルを再生するとサイン音が聞こえます。
image.png

2.publicフォルダを作ってwavファイルを設置

image.png

3.コードの追加


const config = {
    channelSecret: process.env.CHANNEL_SECRET,
    channelAccessToken: process.env.CHANNEL_ACCESS_TOKEN
};

const app = express();
app.use(express.static('public'));  //追加

3.wavファイルのURLを動的に取得する
app.post('/webhook'......内の処理を書き換える

Promise
      .all(req.body.events.map(event=>handleEvent(event,req)))
      .then((result) => res.json(result));

function handleEvent(event) { に引数を追加

function handleEvent(event, req) {
  console.log(req);
  if (event.type !== 'message' || event.message.type !== 'text') {
    return Promise.resolve(null);
  }

メッセージ内にURLを入れる

let url;
  if (hz == 0) {
    url ="";
  } else if (hz == 8000) {
    url ="デプロイしたボットのURL/public/8000.wav";
  } else if (hz == 10000) {
    url ="デプロイしたボットのURL/10000.wav";
  } else if (hz == 12000) {
    url ="デプロイしたボットのURL/12000.wav";
  } else if (hz == 14000) {
    url ="デプロイしたボットのURL/14000.wav";
  } else if (hz == 15000) {
    url ="デプロイしたボットのURL/15000.wav";
  } else if (hz == 16000) {
    url ="デプロイしたボットのURL/16000.wav";
  }

LINEで複数のメッセージを返信する

 replyMessage(event.replyToken, [    
 { type: "text", text: "第一のメッセージ" },    
 { type: "text", text: '第二のメッセージ' }   
]) 

完成

image.png
image.png
image.png

9
5
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
5