2016-05-07 8 views
1

ブラウザがウェブページを開いたときに自動的にmp3ファイルを再生します。 Android上AndroidのChromeでjQuery.ready()内のmp3ファイルの自動再生を行いません

$(window).load(function(){ 
    alert("Hey"); 
    (new Audio('mp3/musik.mp3')).play(); 
}); 

クロームGoogleからの最新バージョンは、ストア(50.0.something)、私のラップトップ上で、それは44.0.2403.157(Ubuntuの15.10 64bit版)でプレイされています。ここではjQueryのに基づいて、私のjavascriptのコードがあります。

両方のブラウザでポップアップが表示されていますが、mp3はノートパソコンでのみ再生されます。同じコード(匿名関数内のコード)がonclickイベントによって実行される場合、それは両方のデバイスで機能します。これは理にかなっていませんか?どこが問題なの?

ありがとうございます!

$(document).ready(function(){ 
    alert("Hey"); 
    (new Audio('mp3/musik.mp3')).play(); 
}); 
+2

自動演奏HTML5オーディオはクロームのAndroidをサポートしていません、私は思います。 https://bugs.chromium.org/p/chromium/issues/detail?id=138132 –

+0

@JohnSmithが言ったこと。それはバグではありません。これは、ユーザーの同意なしに不要なダウンロードを防止するモバイルデバイスの「機能」です。 – Wainage

+0

@Wainageはい、リンク先の記事が記載されています。 「これは意図されている。自動再生はアンドロイドではデータの使用に費用がかかるため、賞賛されていない」 –

答えて

0

.LOADは.ready代わりhttp://api.jquery.com/load-event/

使用文書を参照してください、失敗することができますか?

$(document).ready(function(){ }); 

これが動作するかどうかを教えてください。

UPDATE:

OK、私はこれを試してみたのだが、これはあなたの問題を解決し

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width"> 
    <title>JS Bin</title> 
</head> 
<body> 
<script type="text/javascript"> 
    window.onload = function() { 
     new Audio('Into the Wild - Red to Black.mp3').play(); 
    }; 
</script> 
</body> 
</html> 

希望に動作します。私の質問のコメントの中ANSERため@JohnSmithへ

+1

私が言ったように:両方のブラウザ(AndroidとUbuntuのChrome)が起動するため、load()は私の場合は失敗しません。ただし、Androidではalert()のみが実行されますが、Audio.play()は一般的に動作します。 onclickイベントを介して。 –

+0

awええ、申し訳ありませんが、私は正しく読まなかった – yezzz

0

は、この作業を行います:

+0

ありがとう、私はそれを試したが、いいえ、それはありません。 –

+0

OK、私はあなたの問題を解決する必要があります私の答えを更新しました。 – uglycode

+0

私はアンドロイドでそれをテストしましたが、あなたが何を意味するのか分かります。これはある種のバグでなければなりません。ボタンクリックで動作するコードとまったく同じコードが "load"イベントでも実行されますが、プレーヤーは起動しません。私もロード時に "クリック"イベントをシミュレートし、それは音楽の演奏を開始しませんでした。しかし、まったく同じボタンをクリックすると、うまくいきました。誰かがこれを理解してください。 – uglycode

関連する問題