8

私のアプリでは、MediaPlayer API を使用してオーディオ プレーヤー (WAV ファイルのみ) を作成しました。しかし、プレーヤーは毎回 onCompletion Listener にコールバックを与えません。コールバックを返すこともありますが、毎回ではありません。挿入や上書きなど、wavファイルでオーディオ処理を行っています。

オーディオヘッダーに欠落があるためですか?再生が完了したときにコールバックを返さないのはなぜですか?

4

7 に答える 7

5

ファイルのヘッダーが正しく設定されていることを確認してください。ヘッダーに何かが欠けcallbackていると、onCompletion発生しない場合があります。

mediaplayer が.wavファイルを再生している場合、シークは正しく行われる可能性がありますが、ジャークが発生します。そのため、再生が完了すると、ファイルの合計時間とonCompletionそれぞれの間に 0 ~ 1000 ミリ秒の差が生じます。したがって、そのような状況が発生した場合は、onColmpletion としてそれを推測し、必要に応じて実行する必要があります。を取得するのは少しトリッキーな方法onCompletionです。

.wavmediaplayer でファイルを再生しているときに、同じ問題に直面しました。これはこの問題を解決する良い方法ではありませんが、同じ状況にあったときに、このような同じ問題に取り組みました。これが何らかの形であなたにも役立つことを願っています。

于 2013-07-01T05:38:29.660 に答える
-2

録音が完了したら、スリープ方式を使用してみてください。また使用します。クラッシュを避けるために、プレースバックが発生する前に .prepare() を実行します。

于 2013-06-29T16:04:12.453 に答える