4

ボタンのクリックなど、GUI イベントでサウンドを再生する必要があります。この目的のために、WebView から次のネイティブ コードを呼び出します。

MediaPlayer _SoundPlayer = new MediaPlayer();
private void playSound(String sound)
{
    _SoundPlayer.reset();
    try
    {
        AssetFileDescriptor afd = getAssets().openFd("sound/" + sound + ".mp3");
        _SoundPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
        _SoundPlayer.prepare();
        _SoundPlayer.start();
    }
    catch (Exception e) { }
}

問題は、イベントとそのサウンドの間に最大 500 ミリ秒の遅延があることです。あらゆる種類のサウンドに専用の MediaPlayer インスタンスを作成して、何らかの方法でサウンドの再生を最適化できますか?

よろしく、

4

2 に答える 2

6

の代わりSoundPoolに、低遅延のメディア再生に使用しMediaPlayerます。

于 2012-06-18T04:19:41.643 に答える
4

これにはすでに受け入れられている回答があるようですが、現時点では完全な解決策はありません。Android には現在、非常に大きなオーディオ レイテンシがあります。開発者はまだ良い解決策を待っています.

この問題は NDK に関するものですが、一般的な問題です。

http://code.google.com/p/android/issues/detail?id=3434

于 2012-06-18T14:29:25.160 に答える