0

したがって、playframework 2.0 を使用しており、サーバーで次のコードを使用してオーディオを正常にストリーミングしています。

public static Result recording() {
    File wavFile = new File("C:\\test.wav");
    return ok(wavFile);
}

そして、これはうまくいきます。

私が抱えている問題は、それが新しいページに変わることです。代わりに、小さなダイアログ ボックスを開くか、新しい周囲の div を作成したいと思います。だから私は ajax リクエストを作成する必要があると考えています。新しい div を作成することはできますが、成功したデータ オブジェクトをどうするかはわかりません。どんな例でも本当に役に立ちます。私は何も見つけることができませんでした:

$('#sound').click( function(evt) {
            $.ajax({
                type: 'POST',
                url:  jQuery("#sound").attr("href"),
                data: jQuery("#sound").serialize(),
                dataType: "json",
                success: function(data) {
                            //What do i need to do here
                    alert('Call history download');
                },
                error: function(data) {
                    setError('Call history download failed');
                }
            });
            return false;
        });
4

1 に答える 1

2

html5 <audio> タグを確認してください。

このような何かがうまくいくはずです:

<audio src="@routes.MyController.recording()" controls autoplay loop>  
   <p>Your browser does not support the audio element </p>  
</audio>

JavaScript でサウンドを開始する場合は、すべての ajax をスキップして、javascript/jQuery を使用して要素を追加するだけです。その後、サウンドが自動的に開始されます。

Wave ファイルは IE ではサポートされていないことに注意してください (図!!)。IE 9 は MP3 のみをサポートします。ただし、Firefox と Opera は MP3 をサポートしていません。複数のファイル形式をサポートするには、次のようにします。

<audio controls autoplay loop>  
   <source src="@routes.MyController.recordingWave()" type="audio/wave" />
   <source src="@routes.MyController.recordingMp3()" type="audio/mp3" />
   <p>Your browser does not support the audio element </p>  
</audio>
于 2012-06-18T08:43:31.490 に答える