4

私は現在、オーディオ ファイルをトリガーするボタンがあるアプリを作成しようとしていますが、これらのオーディオ ファイルは、ファイル ブラウザー アクティビティを介してユーザーによって選択されます。MediaPlayer には遅延の問題などがあると聞きましたが、SoundPool にはメモリ制限がありますか?

また、ユーザーがファイル ブラウザ (選択したアイテム) から文字列を返すことでオーディオ ファイルを設定し、それをオーディオ API のパスとして使用することはできますか?

4

2 に答える 2

3

SoundPoolすでにロードされているファイルを再生しようとしている場合は、より高速です。ファイルのロードに時間がかかるため、パフォーマンスを向上させるにはファイルを小さくする必要があります。

しかし、あなたの場合、ユーザーが再生するファイルを選択しているようFileBrowserで、ファイルサイズが異なるため、読み込み時間が異なります。MediaPlayer代わりに行ってください。

于 2013-02-14T19:47:35.003 に答える
3

SoundPoolよりも高速ですMediaPlayerが、独自の制限があります。

SoundPoolメソッドで使用できるような小さな音に使用され、onClick()ユーザーがどこかをクリックするたびにクリック音を鳴らすことができます。これは、これらのファイルがメモリにプリロードされているため、CPU がその動作に苦しむことがないためです。SoundPoolよりも速いのはそのためですMediaPlayer。また、一度にレンダリングされるオーディオ ストリームの数を管理できます。

MediaPlayerMediaPlayerユーザーが再生、一時停止、シーク、開始などの再生オプションにアクセスできるような場合に使用されます。また、長いオーディオは事前にメモリにロードできないため、一般的に長いオーディオに適しています。を使用して、インターネット経由で音声を再生することもできMediaPlayerます (将来のリリースで再生する予定がある場合に便利です)。

あなたの場合、ユーザーはファイル ブラウザ アクティビティからオーディオを再生することが許可されていますMediaPlayer

于 2016-10-15T05:49:38.870 に答える