質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Pygame

Pygameは、ビデオゲームの製作用に設計されたクロスプラットフォームのPythonモジュールセットです。Pythonでコンピューターグラフィックスと音声を扱うためのライブラリが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

211閲覧

linebotで音楽を連続で再生しなおかつ停止させたい

sasa55

総合スコア0

LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Pygame

Pygameは、ビデオゲームの製作用に設計されたクロスプラットフォームのPythonモジュールセットです。Pythonでコンピューターグラフィックスと音声を扱うためのライブラリが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/12/13 12:41

目的

linebotで音楽を連続で再生しなおかつ停止させたい
言語:Python

発生している問題

連続再生はできているが、完全停止ができていない
1度は停止するが次の曲がかかってしまう

該当のソースコード

python

1# -*- coding: utf-8 -*- 2 3import a 4 5from flask import Flask, request, abort 6 7from linebot import ( 8 9 LineBotApi, WebhookHandler 10 11) 12 13from linebot.exceptions import ( 14 15 InvalidSignatureError 16 17) 18 19from linebot.models import ( 20 21 MessageEvent, TextMessage, QuickReplyButton, MessageAction, QuickReply, TextSendMessage, StickerMessage 22 23) 24 25app = Flask(__name__) 26 27line_bot_api = LineBotApi(apiconfig.LINE_CHANNEL_ACCESS_TOKEN) 28 29handler = WebhookHandler(apiconfig.LINE_CHANNEL_SECRET) 30 31@app.route("/callback", methods=['POST']) 32 33def callback(): 34 35 # get X-Line-Signature header value 36 37 signature = request.headers['X-Line-Signature'] 38 39 40 41 # get request body as text 42 43 body = request.get_data(as_text=True) 44 45 app.logger.info("Request body: " + body) 46 47 # handle webhook body 48 49 try: 50 51 handler.handle(body, signature) 52 53 except InvalidSignatureError: 54 55 print("Invalid signature. Please check your channel access token/channel secret.") 56 57 abort(400) 58 59 return 'OK' 60 61@handler.add(MessageEvent, message=TextMessage) 62 63def handle_message(event): 64 65 linetext=event.message.text 66 67 if linetext == '音楽': 68 text = '了解です。' 69 line_bot_api.reply_message( 70 event.reply_token, TextSendMessage(text) 71 ) 72 a.music(1) 73 74 if linetext == '停止': 75 text = '了解です。' 76 line_bot_api.reply_message( 77 event.reply_token, TextSendMessage(text) 78 ) 79 a.music(2) 80 81@handler.add(MessageEvent, message=StickerMessage) 82 83def handle_video(event): 84 85 # reply_tokenが特定の値だった場合に処理終了 86 87 if event.reply_token == "ffffffffffffffffffffffffffffffff": 88 89 return 90 91 line_bot_api.reply_message( 92 93 event.reply_token, 94 95 TextSendMessage(text="Sticker") 96 ) 97 98if __name__ == "__main__": 99 100 app.run(host="localhost", port=8000) # ポート番号を8000に指定

python

1# -*- coding: utf-8 -*- 2import pygame 3import random 4import glob 5import time 6 7from mutagen.mp3 import MP3 as mp3 8 9def music(a): 10 11 if a == 1: 12 13 rm = glob.glob("***") 14 15 random.shuffle(rm) 16 17 for x in rm: 18 19 pygame.mixer.init(frequency = 44100) 20 21 pygame.mixer.music.load(x) 22 23 mc = mp3(x).info.length 24 25 pygame.mixer.music.play(1) 26 27 time.sleep(10 + 0.5) 28 29 if a == 2: 30 31 pygame.mixer.music.stop()

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問