最終更新:2016-05-26 (木) 18:35:17 (2886d)
SoundPool.load
Top / SoundPool.load
Java
- private native final int _load(FileDescriptor? fd, long offset, long length, int priority);
JNI
- http://tools.oesf.biz/android-4.4.4_r1.0/xref/frameworks/base/media/jni/soundpool/android_media_SoundPool_SoundPoolImpl.cpp#224
- android_media_SoundPool_SoundPoolImpl_load_FD?
- MusterSoundPool?
C++
- AOSP/frameworks/av/media/libmedia/SoundPool.cpp?
- http://tools.oesf.biz/android-4.4.4_r1.0/xref/frameworks/av/media/libmedia/SoundPool.cpp#212
SoundPool::doLoad?
- mDecodeThread?->loadSample(sample->sampleID());
SoundPoolThread::doLoadSample?
- sample->doLoad();
Sample::doLoad
- http://tools.oesf.biz/android-4.4.4_r1.0/xref/frameworks/av/include/media/SoundPool.h#52
- http://tools.oesf.biz/android-4.4.4_r1.0/xref/frameworks/av/media/libmedia/SoundPool.cpp#489
size_t kDefaultHeapSize = 1024 * 1024; // 1MB
MediaPlayer::decode?
メモ
- SoundPool は1つのインスタンスで複数のサウンドが同時再生可能。ミキシングは自動。読み込みはファイルとリソースからのみで、再生前に予め読み込んでおく必要がある。
- サウンドファイルは読み込まれると非圧縮 PCM でネイティブなヒープ上に展開される。ヒープのサイズは 1MB で固定。それ以上読み込むとログにエラーが表示される。
関連
- android.content.res.AssetFileDescriptor?