最終更新:2016-05-26 (木) 18:35:17 (2886d)  

SoundPool.load
Top / SoundPool.load

http://tools.oesf.biz/android-4.4.4_r1.0/xref/frameworks/base/media/java/android/media/SoundPool.java#490

Java

  • private native final int _load(FileDescriptor? fd, long offset, long length, int priority);

JNI

C++

SoundPool::doLoad?

  • mDecodeThread?->loadSample(sample->sampleID());

SoundPoolThread::doLoadSample?

  • sample->doLoad();

Sample::doLoad

MediaPlayer::decode?

メモ

  • SoundPool は1つのインスタンスで複数のサウンドが同時再生可能。ミキシングは自動。読み込みはファイルとリソースからのみで、再生前に予め読み込んでおく必要がある。
  • サウンドファイルは読み込まれると非圧縮 PCM でネイティブなヒープ上に展開される。ヒープのサイズは 1MB で固定。それ以上読み込むとログにエラーが表示される。

関連

  • android.content.res.AssetFileDescriptor?