問題タブ [playback-rate]

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 投票する
1 に答える
127 参照

android - 入力hzよりも高い場合、再生レートがチャンクになります-クリック音

オーディオの私の最初の実験なので、これは最も賢明な質問ではないかもしれません. しかし、マイクからオーディオを録音し、ヘッドセットまたはスピーカーで再生しようとしています。また、再生レートを HZ の半分にしても問題なく動作しますが、2 倍にすると、オーディオ サウンドがまとまって聞こえるようになります。プレイするのに十分ではないと思います.スリープしてレコードバッファサイズを拡大してプレイしましたが、成功しませんでした.

その問題を解決する方法を知っている人はいますか?

たとえば、8000 のバッファと hz=8000 があり、pbhz=11025 です。

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

javascript - Web オーディオ - すべてのサウンドの PlaybackRate を即座に変更するには?

Web オーディオを使用する場合、作成したすべてのサウンドをグローバルに作成された 1 つに接続し、gainNodeそのノードを使用して「マスター ボリューム」プロパティを設定できます。これは、マスター ボリュームをオンザフライで変更し、すべてのサウンドに即座に影響を与えたい場合に非常に便利です。

今、私は同じことを達成しようとしていますが、playbackRate. 参考までに: これは、パワーアップを使用して時間を遅くすることができる Web ゲームの場合で、すべての音楽とサウンドも遅くなります。

私が作成する各サウンドはAudioBufferSourceNode、一連の処理ノードにリンクされています。AudioBufferSourceNodeこれで、 the自体にplaybackRate変更可能なプロパティがあることがわかりました。これは素晴らしいことですが、その場で「グローバル再生レート」を変更したい場合はAudioBufferSourceNodes、作成したものすべてをキャッシュし、それらをループして変更する必要があります。playbackRateglobal と同じ方法でこれを達成できれば完璧ですがgainNode、それを行う方法が見つかりませんでした。

そのような機能を実装する適切な方法は何でしょうか? 作成されたすべて (数千になる可能性があります) をキャッシュAudioBufferSourceNodesし、それらをループすることをお勧めしますか? それが HTML5 Audio でこれを行う方法ですが、はるかに高度な Web Audio ではハッキーに思えます。

さらに詳しい情報が必要な場合は、お問い合わせください。質問を更新します。

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

javascript - javascript を使用して再生レートを .5x に設定すると、Firefox でオーディオ/ビデオのジッタリングを修正する方法は?

.mp4 ビデオを再生し、ベース Javascript (ライブラリなし) と HTML5 (Mac OSX 10.10.4) を使用して再生速度を変更する実験をセットアップしようとしています。ビデオの再生速度を .5x に変更すると、オーディオ ビデオの速度は遅くなりますが、Firefox (バージョン 39.0.3) ではオーディオが非常にぎくしゃくします。この問題は、Chrome (バージョン 44.0.2403.130、64 ビット)、Safari (バージョン 8.0.7)、または IE (バージョン 11 以降) ではそれほど顕著ではありません。Firefox を使用しているときに、このビデオの音声のノイズを少なくする方法はありますか?

応答

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

javascript - クラス全体でJSを実行するにはどうすればよいですか?

私のページには多くのビデオがあり、ビデオを高速化するためにビデオに追加のボタンを作成しました。getElementById を呼び出すと機能します。ページ上のすべての動画に 1 つの Javascript を使用することはできますか? 約 80+ であるため、速度 1x に戻るボタンも作成する必要があるため、多くの重複した JavaScript コードになります。

HTMLページブロックはこんな感じ。

以下のスクリプト領域には、次のものがあります。

そのため、変数 vid をページ上のすべてのビデオに対して何らかの方法で定義するか、他の回避策があればそれを回避します。ところで、ビデオが終了した後もfireeventは機能しません。アラートは表示されますが、ウィンドウは閉じません。