播放聲音我想通過這本書在Android編程和的例子之一是如何發揮使用的Soundpool聲音工作。不能在AVD
但是它總是給我的logcat同樣的錯誤:
AudioFlinger could not create track, status -12.
我一派錯誤和其他人似乎是從嘗試扮演了太多的聲音的。但是,我的第一次嘗試播放聲音失敗了。使用MediaPlayer時出現相同的錯誤。我有沒有在AVD中正確設置的東西?音頻播放支持已啓用。
我也裝這個到我的手機,它工作正常。它只在模擬器中失敗。顯然,其中如果未啓用快照的聲音不會玩,這是由於在模擬器中的錯誤。
創建一個新的AVD和它的作品,但聲音非常不穩定。這是正常的嗎?
public class SoundPoolTest extends Activity implements OnTouchListener {
SoundPool soundPool;
int explosionId = -1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textView = new TextView(this);
textView.setOnTouchListener(this);
setContentView(textView);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
soundPool = new SoundPool(20, AudioManager.STREAM_MUSIC, 0);
try {
AssetManager assetManager = getAssets();
AssetFileDescriptor descriptor = assetManager
.openFd("explosion.ogg");
explosionId = soundPool.load(descriptor, 1);
} catch (IOException e) {
textView.setText("Couldn't load sound effect from asset, "
+ e.getMessage());
}
}
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
if (explosionId != -1) {
soundPool.play(explosionId, 1, 1, 0, 0, 1);
}
}
return true;
}
}