問題タブ [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.
html - AudioContext を使用して曲全体の波形を表示する
SoundCloud が個々のトラックごとに行うように、曲の波形を表示しようとしていますが、いくつかの問題があります。
これまでのところ、これが正しいスタートであると私が想定しているものです。
これは明らかに部分的なものにすぎませんが、最終的には、キャンバスの幅全体にトラックの波形が最初から最後まで明確に表現された全体的なトラックを表示することになります。
これを手伝ってくれてありがとう。
謹んで、
ジュール
javascript - setTimeout が Uncaught TypeError: Illegal invocation in AudioContext in Chrome でエラーを返す
Chrome では、最初に AudioContext を使用して連続音を作成します。
数ミリ秒後に停止したいと思います。だから私はこれを行います:
これはエラーを返しますUncaught TypeError: Illegal invocation
。
しかし、もしそうなら;
それは正常に動作します。
最初のものが機能せず、エラーが返される理由を知りたいです。これを行う簡単な方法のようです。
javascript - MediaElementAudioSourceNode を AudioContext.destination に接続できない
ここに問題を示すためのフィドルがあります。createMediaElementSource
基本的に、オブジェクトのメソッドが呼び出されるたびAudioContext
に、 audio 要素の出力が返された に再ルーティングされMediaElementAudioSourceNode
ます。これはすべて問題なく、仕様に従っています。ただし、出力をスピーカーに再接続しようとしても (の を使用destination
) AudioContext
、何も起こりません。
ここで明らかな何かが欠けていますか?たぶん、クロスドメインのオーディオファイルと関係がありますか? Google でこのトピックに関する情報を見つけることができず、仕様にそのメモが表示されませんでした。
フィドルのコードは次のとおりです。
javascript - AudioContext のサンプルレートを変更する (getUserMedia)
getUserMedia を介して 48000Hz の録音を録音しようとしています。しかし、運がなければ。返されたオーディオ MediaStream は 44100Hz を返します。これを 48000Hz に設定するにはどうすればよいですか?
ここに私のコードのスニペットがあります:
startUsermedia 関数:
AudioContext のプロパティ sampleRate を変更しようとしましたが、うまくいきませんでした。
sampleRate を 48000Hz に変更するにはどうすればよいですか?
編集:48000Hzでwavファイルを記録およびエクスポートできるフラッシュソリューションでも問題ありません
firefox - WebRTC オーディオ コンテキストのマイク音量コントロールを追加しようとすると、Firefox 37 でエラーが発生する
firefox 37以降、入力(マイク)に音量コントロールを追加できないため、次のエラーが表示されます:
IndexSizeError: インデックスまたはサイズが負であるか、許容量を超えています
Chromeで問題なく動作します。
コードサンプルは次のとおりです。
ここでエラーがスローされます:
マイク.接続(ゲイン);
奇妙なことに、毎晩Firefoxで動作します。
このエラーは、次のスタック オーバーフローに似ています:リンク
関連リンク : StackOverflow のリンク
javascript - AudioContext オシレーターが複数回再生されない
オシレーターを複数回再生できないことはわかっているので、毎回新しいオシレーターを作成する関数を作成しました。
しかし奇妙なことに、この関数は実際には一度しかサウンドを再生しません。なぜこれが起こるのか理解できません。関数を呼び出すたびに新しいオシレータを作成していませんか?
まったく同じコードの関数「playFrequency2(f, t0, t1)」を作成すると、最初の関数がサウンドを再生した後でもサウンドが再生されます。しかし、2回目に呼び出しても音は出ません。