0

AndroidMediaPlayerがオーディオチェーンをサポートしていることを読みました。

シーケンシャルMIDIファイルを再生していますが、それらの間に遅延がないようにしたい(連続再生)。

私は現在使用しています:setOnCompletionListener

Eclipseエミュレーターには、実際には目立った遅延はありません。しかし、私は自分のアプリをasusトランスフォーマー(非常に高速です)で試しましたが、より大きな遅延がありました。Android4.0.3で試してみました。

次の曲を再生するために別の方法を使用する必要がありますか?

4

2 に答える 2

3

MediaPlayerの代わりにSoundPoolクラスを使用してみるべきだと思います。MediaPlayerオブジェクトと比較した場合、SoundPoolは軽量オブジェクトであるためです。

これがSoundPoolの例です。

http://blog.nelsondev.net/?p=207

また、SoundPoolは、小さなサウンドファイルやより高速な再生機能に最も適していると言われています。

そしてここにMediaPlayerとSoundPoolについてのことを説明する記事があります。

http://www.vogella.com/articles/AndroidMedia/article.html

これに基づく質問への別のリンクがあります、

サウンドプールまたはメディアプレーヤー?

于 2012-07-27T08:51:49.023 に答える
3

Jelly Beanのリリースノートには、MediaPlayerが「オーディオチェーン」機能をサポートするようになったと記載されていますが、実際のAPI実装は指定していません。そうは言っても、MediaPlayerの開発者向けリファレンスを見ると、Android 16(Jelly Bean)の時点で「setNextMediaPlayer」と呼ばれる新しいメソッドが利用可能であることがわかります。

setNextMediaPlayer()についてはこちらをご覧ください

確かなことはわかりませんが、これがリリースノートで言及されていることだと思います。

訂正:setNextMediaPlayerは、リリースノート http://developer.android.com/about/versions/android-4.1.html の「GaplessPlayback」という見出しの下に記載されています。

于 2012-08-09T19:32:12.593 に答える