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

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

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

1886閲覧

<midi-player> の再生、一時停止を JavaScript (jQuery)で制御したい。

Knomono

総合スコア6

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2021/08/22 07:54

このMIDIを再生できるやつ を使ってMIDIを再生しています。

イメージ説明

このような再生プレイヤーが表示されるのですが、
この再生ボタンを使わずに、自分で作成したボタン(特定の処理)で再生一時停止などしたいと考えています。

そこで、

html

1<script src="https://cdn.jsdelivr.net/combine/npm/tone@14.7.58,npm/@magenta/music@1.22.1/es6/core.js,npm/focus-visible@5,npm/html-midi-player@1.3.0"></script> 2 3<!--『id="player"』を付けた--> 4<midi-player id="player" src="file.mid" sound-font visualizer="#myVisualizer"></midi-player>

javascript

1const playersrc = document.getElementById('player'); 2 3//クリック 4playersrc.addEventListener('click', butotnClick); 5//もしくは再生? 6playersrc.play(); 7

とすれば再生ボタンのクリック(もしくは再生)出来るかな?
などと試してみたのですが上手くいきませんでした。


そこで、再生ボタンを押したら何か変わるのかを見てみました。

イメージ説明
<midi-player>はこのようになっていて、

再生ボタンを押したら、『div.controls.stopped』が
イメージ説明
『div.controls.playing』となっていることがわかりました。

おそらく、

$('.controls').on('click', function(){ $(this).toggleClass('playing'); })

のような感じに出来るといいのかな?と思うのですが、
jQueryはあまり弄ったことがないのでよくわかりません。
『$(this).toggleClass('playing');』の部分はいい線行ってると思うのですが...。


今予想していることが正しいのかの判断もできていませんが、
<midi-player>を自分で操作することについてアドバイスいただけるとありがたいです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

start()、stop()を紐付ければできると思います。

https://github.com/cifkao/html-midi-player/blob/master/src/player.ts

HTML

1<midi-player id="player" src="file.mid" sound-font visualizer="#myVisualizer"></midi-player> 2<button onclick=player.start()>再生</button> 3<button onclick=player.stop()>停止</button>

投稿2021/08/22 08:13

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

Knomono

2021/08/24 01:13

回答ありがとうございました。非常に助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問