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

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

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

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

Q&A

解決済

1回答

1105閲覧

【javascript】『require('midi-player-js')』を使いたい。(その為にES2015を使用したい。)

Knomono

総合スコア6

JavaScript

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

0グッド

0クリップ

投稿2021/07/07 02:18

JavaScriptでmidiファイルを再生しようとしています。

そこで**『require('midi-player-js')』**を使おうと考えました。参考

JavaScript

1 /*【midiPlayer.js】*/ 2 3 const MidiPlayer = require('midi-player-js'); 4 5 // Initialize player and register event handler 6 var Player = new MidiPlayer.Player(function(event) { 7 console.log(event); 8 }); 9 10 // Load a MIDI file 11 Player.loadFile('./再生させたいmidi.mid'); 12 Player.play();

しかし、このままだとrequire()はNodeで動くからブラウザだと使えませんよと怒られてしまうので、

browserify midiPlayer.js -o midiPlayerApp.js

実行してブラウザで『require('midi-player-js')』を扱えるファイルを作成しようとしました。
ですが、これを実行しようとすると

SyntaxError: 'import' and 'export' may appear only with 'sourceType: module' (1291:0)

というエラーが出てきます。

調べたところ、ここのリンクの先 にあるように、
ES2015というのをインストールする必要があるらしく、

npm install babel-preset-es2015 --save-dev

を実行しました。
「package.json」を確認したところ
"babel-preset-es2015": "^6.24.1",
が出現しているのでおそらくここまでは正しく実行できていると思われます。

そして次に**『インストールしたプリセットを使用するようにbabelifyに指示する必要があります。』**
とあるのですが、この部分のやり方がよくわかりません

一応、

npm install eslint --save-dev

npm install --save-dev babelify @ babel / core

などを実行してみて、
「./node_modules/.bin/」に移動して『eslint --init』というのを実行などしたのですが、
その後に作成されるという「.eslintrc.js」というファイルが作成されていなかったりとなかなか進展しません。
これ以上よくわかっていないことを適当に試すのは怖くなってきたので質問させていただきます。

そもそもやろうとしている事が的外れという可能性もありますし、ご助言いただけると幸いです


  • Node(16.2.0)
  • npm(7.13.0)

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

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

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

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

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

guest

回答1

0

ベストアンサー

は、どうでしょうか?

投稿2021/07/07 02:52

yambejp

総合スコア114784

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

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

Knomono

2021/07/14 02:40

教えて頂いたおかげで、MIDIファイルを再生自体はできるようになりました。ありがとうございます。 ただ欲を言うと、JavaScript上で何かを選択したタイミングだったり、自分で作ったボタンを押したタイミングで再生できるようにしたいと考えています。 なので、教えて頂いた<midi-player>を見えない状態にして(見た目の関係上見えなくさせたい)、別のボタンを押した場合<midi-player>を再生させるということが出来れば解決かな? と思い、試しに ・class="display-none"を付けて  .display-none { display: none; } ・別のボタンのclick処理内に、 document.getElementById('player').play(); //player=<midi-player>のid などとしてみたのですが、どれもうまくいきませんでした。 もっと良いやり方があったりするのでしょうか? 特に再生・一時停止ボタンの制御のやり方を知っていましたら教えて頂けると助かります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問