3

インターネット上でそれに関する情報が見つからないため、おそらくそれはまれなケースであるため、私はこの質問をしているだけです。

問題は、複数のMediaPlayerを使用してmp3サンプルを再生するピアノアプリがあることです。これは、高速応答を取得する唯一の方法であり、サウンドプールのようにすべてをメモリにロードしたり、ネイティブコードシンセに頼ったりする必要はありません。

それはうまく機能し、通常のAndroidデバイスでは問題はありません。ただし、Amazon Kindle Fire(初版)では、いくつかのキーを再生すると奇妙な音がします。MediaPlayerのネイティブ実装にはどういうわけかバグがあるようです。実際のエラーは発生しませんが、音が途切れたり、文字化けした奇妙なレンダリングノイズが発生したりします。もちろん、これは私のユーザーを不幸にし、私に低評価のアプリを残します。

.oggサンプルを使用してレンダリングエンジンを切り替えてみました。これらはうまく機能し、奇妙なノイズはもうありませんが、それらもカットオフされているため、あまり良い代替品ではありません。

私が見つけた唯一のリードは、無効なデータに関するエラーメッセージでした。私はそれを修正できるかどうか試してみますが、それはそれとは何の関係もないのではないかと思います。

Kindle Fire(または他のプラットフォーム)で同様の問題が発生した人はいますか?

更新 誤ったデータについて時々ポップアップする奇妙なエラーが実際にこれを引き起こしているようです。AssetFileDescriptorsを使用して生のリソースファイルをロードしています。これはまったく同じことですMediaPlayer.create(R.raw.mp3file)。SDカードのサンプルでテストしたところ、奇妙なオーディオの問題は発生しません。だから、私は実際にこれを解決できると思います。:)

4

1 に答える 1

0

さて、解決策は非常に単純なものです。そして、なぜそれがあまり遭遇しないのかについても理解しました。

MediaPlayer.create(R.raw.resid)ソースを完全にコピーしていないことがわかりました。使用するたびに閉じるのを忘れて、AssetFileDescriptor再利用しました。どういうわけかそれは良い習慣ではありません、そしてそれらを閉じることに切り替えることはそれを修正しました!

于 2012-12-19T16:27:27.167 に答える