2016-10-07 9 views
1

Javascript(https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createBuffer)でオーディオバッファを作成できることがわかりました。私はまだこのAPIが何をしているのか分かりませんが、.oggファイルの前に無音のx秒を追加してブラウザで再生する方法があるかどうかを知りたいのですが?Web Audio APIを使用して音の先頭に無音を追加する

編集:

目的でも、長いタイムアウトのために携帯電話のブラウザ上で動作するタイマーを作成することです。電話がスリープ状態になるとSetTimeoutSetIntervalが停止します(他のJavaScriptコードと同様)。私の回避策は、つまり、40分の無音を含むサウンドファイルを作成してから、アラームベルを再生することです(JavaScriptはバックグラウンドタブで実行されていなくてもバックグラウンドで再生を続けます)。しかし、そのようなファイルを作成することは、あまり柔軟ではなく、トラフィックを増加させます。私はこのAPIを使って、silence + bellをオフラインにしてファイルを作成せずに説明したことを達成することを考えました。

+0

@Kaiido質問が更新され、説明が追加されました – enzian

+0

JavaScriptについて詳しく学び、モバイルブラウザでどのように動作するかを知り、Web Audio APIについてさらに研究することをお勧めします。あなたがSOのボランティアにあなたのためにたくさんのコードを書くように頼んでいるように聞こえます。 –

+0

@MikeMcCaughan私がWeb APIに入る前に、私はそれができるかどうかを知りたいと思っていました私が望むものそのことはよくわからない。 – enzian

答えて

1

これもあなたの問題を解決します。私はこの振る舞いを別の方法でアーカイブしました。私はちょうど音を再生する前にx秒待った。

マイコードは、それがあなたのために働くん代わりに、あなたはXを使用し、1000

でそれを掛けることができます2000年の

var audio = new Audio('sound.mp3'); 

function start() { 
    audio.play(); 
} 

setTimeout(start, 2000); 

のように見えるか、私が欠けている点はありますか?

+0

質問の現在の不明瞭さ*を考えると、これは巧妙な解決策です;-) – Kaiido

+1

問題は携帯電話でスリープ状態になっても機能しないことです。私はその質問にあまり正確ではないかもしれない。それを編集するつもり。 – enzian

関連する問題