問題タブ [audiocontext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
368 参照

html - AudioContext を使用して曲全体の波形を表示する

SoundCloud が個々のトラックごとに行うように、曲の波形を表示しようとしていますが、いくつかの問題があります。

これまでのところ、これが正しいスタートであると私が想定しているものです。

これは明らかに部分的なものにすぎませんが、最終的には、キャンバスの幅全体にトラックの波形が最初から最後まで明確に表現された全体的なトラックを表示することになります。

これを手伝ってくれてありがとう。

謹んで、

ジュール

0 投票する
1 に答える
2139 参照

javascript - setTimeout が Uncaught TypeError: Illegal invocation in AudioContext in Chrome でエラーを返す

Chrome では、最初に AudioContext を使用して連続音を作成します。

数ミリ秒後に停止したいと思います。だから私はこれを行います:

これはエラーを返しますUncaught TypeError: Illegal invocation

しかし、もしそうなら;

それは正常に動作します。

最初のものが機能せず、エラーが返される理由を知りたいです。これを行う簡単な方法のようです。

0 投票する
1 に答える
392 参照

javascript - MediaElementAudioSourceNode を AudioContext.destination に接続できない

ここに問題を示すためのフィドルがありますcreateMediaElementSource基本的に、オブジェクトのメソッドが呼び出されるたびAudioContextに、 audio 要素の出力が返された に再ルーティングされMediaElementAudioSourceNodeます。これはすべて問題なく、仕様に従っています。ただし、出力をスピーカーに再接続しようとしても (の を使用destination) AudioContext、何も起こりません。

ここで明らかな何かが欠けていますか?たぶん、クロスドメインのオーディオファイルと関係がありますか? Google でこのトピックに関する情報を見つけることができず、仕様にそのメモが表示されませんでした。

フィドルのコードは次のとおりです。

0 投票する
7 に答える
26519 参照

javascript - AudioContext のサンプルレートを変更する (getUserMedia)

getUserMedia を介して 48000Hz の録音を録音しようとしています。しかし、運がなければ。返されたオーディオ MediaStream は 44100Hz を返します。これを 48000Hz に設定するにはどうすればよいですか?

ここに私のコードのスニペットがあります:

startUsermedia 関数:

AudioContext のプロパティ sampleRate を変更しようとしましたが、うまくいきませんでした。

sampleRate を 48000Hz に変更するにはどうすればよいですか?

編集:48000Hzでwavファイルを記録およびエクスポートできるフラッシュソリューションでも問題ありません

0 投票する
2 に答える
177 参照

firefox - WebRTC オーディオ コンテキストのマイク音量コントロールを追加しようとすると、Firefox 37 でエラーが発生する

firefox 37以降、入力(マイク)に音量コントロールを追加できないため、次のエラーが表示されます:

IndexSizeError: インデックスまたはサイズが負であるか、許容量を超えています

Chromeで問題なく動作します。

コードサンプルは次のとおりです。

ここでエラーがスローされます:

マイク.接続(ゲイン);

奇妙なことに、毎晩Firefoxで動作します。

このエラーは、次のスタック オーバーフローに似ています:リンク

関連リンク : StackOverflow のリンク

0 投票する
1 に答える
329 参照

javascript - AudioContext オシレーターが複数回再生されない

オシレーターを複数回再生できないことはわかっているので、毎回新しいオシレーターを作成する関数を作成しました。

しかし奇妙なことに、この関数は実際には一度しかサウンドを再生しません。なぜこれが起こるのか理解できません。関数を呼び出すたびに新しいオシレータを作成していませんか?

まったく同じコードの関数「playFrequency2(f, t0, t1)」を作成すると、最初の関数がサウンドを再生した後でもサウンドが再生されます。しかし、2回目に呼び出しても音は出ません。