1

新しい HTML オーディオ タグの使用:

<audio autoplay="autoplay">
<source src="../../audio/andromeda_oars.ogg" type="audio/ogg" />
<source src="../../audio/andromeda_oars.mp3" type="audio/mpeg" />   
Your browser does not support the audio element.
</audio>

これは、私が試したすべてのブラウザー (IE v10、Chrome v23、Opera v12、および Firefox v17) で正常に動作します。しかし、Kindle Fire HD で同じページを表示すると、両方のオーディオ ファイル (ogg と mp3) が次々に再生されます (これには気が狂いそうです)。これは起こるべきではありません。誰にも答えや提案がありますか? ありがとう!ハッピーホリデー....

4

2 に答える 2

0

これは、Kindle Fire ブラウザのバグのようです。最初のソース ファイルを再生できる場合、2 番目のソース ファイルは無視する必要があります。

ソース要素の順序を変更する価値があるかもしれません (つまり、MP3 を最初に置きます)。それが違いを生むとは思えませんが、念のため-ブラウザの奇妙な癖かもしれません.

もう 1 つの可能性は、ブラウザの自動再生実装のバグです。autoplay属性を削除しようとしましたか? それが問題である場合は、play()代わりにページの読み込み時に JavaScript のメソッドを使用してみてください。

より信頼性の高いソリューションは、JavaScript を使用してコーデック サポートを検出することです。このようなものが動作するはずです:

HTML:

<audio id="myAudio">
Your browser does not support the audio element.
</audio>

JavaScript:

function getAudioType(element) {
    if (element.canPlayType) {
        // CanPlayType returns maybe, probably, or an empty string.
        if (element.canPlayType('audio/ogg; codecs="vorbis"') !== '') {
            return('ogg');
        } else if (element.canPlayType('audio/mpeg;') !== '') {
            return('mp3');
        }
    }
    return false;
}

var audio = document.getElementById('myAudio');
var audiotype = getAudioType(audio);
if (!audiotype) {
    // Some fallback or not-supported message here
} else {
    audio.src = '../../audio/andromeda_oars.' + audiotype;
    audio.play();
}

更新: これの実際の例

于 2012-12-26T08:49:58.067 に答える
0

FireHD7 で次の HTML を試してみましたが、正常に動作します。オーディオ タグの 1 つだけが再生されます。それでも問題が解決しない場合は、使用している Silk ブラウザーのバージョンと、HD7 または HD8.9 デバイスのバージョンを教えてください。

<html lang="">
<head>
<meta http-equiv="content-type" content="text/html; charset=">
<title>Audio Test</title>
</head>
<body>

<audio id=audio0 controls autoplay="true">
<source src='http://www.russianlessons.net/audio/lesson3-20.mp3' type='audio/mpeg'>
<source src='http://www.russianlessons.net/audio/lesson3-20.ogg' type='audio/ogg'>
</audio>

</body>
</html>
于 2013-01-14T19:39:57.487 に答える