0

私は子供たちに数え方を教えるためのアンドロイドゲームを書いています。命令は、文章を形成するためにまとめられたサウンド クリップを通じてプレーヤーに読み上げられます (たとえば、「場所」、「1 つ」、「牛」、「中」、「納屋」など)。命令の流れが自然に聞こえるように、遅延が発生します。

現在、私は MediaPlayer を使用しており、OnCompletionListener で各サウンドを再生しています。各サウンドには、サウンドの再生が開始される前に作成および準備される独自の MediaPlayer があります (レイテンシを短縮するため)。行われ、正常に動作します)。

サウンドはそれほど多くなく、非常に短いため、SoundPool を使用するとおそらくうまく機能するはずですが、SoundPool にはオーディオがいつ完成したかを知る方法がないため、オプションではありません。

同様の問題と実行可能な解決策を経験した人はいますか?

4

1 に答える 1

0

私は を使用handlerOnCompletionListenerましたが、2 つの音の間に遅延を与えることはうまくいきました。

こちらです、

CommonMethod.player.setOnCompletionListener(new OnCompletionListener() {

                            @Override
                            public void onCompletion(MediaPlayer mp) {
                                // /will use count and loop as per number of
                                // repetition chosen.
                                handler.postDelayed(new Runnable() {

                                    public void run() {
                                        if (counter >= limit) {
                                            CommonMethod.player.stop();
                                        } else {
                                            CommonMethod.player.start();
                                        }
                                        counter++;
                                    }
                                }, 3000);
                            }
                        });
于 2012-08-07T09:50:56.613 に答える