Вам нужно преобразовать $ old_date обратно в метку времени, поскольку функция даты требует отметки времени в качестве ее второго аргумента.
Используйте SoundPool .
здесь - учебник - http://content.gpwiki.org/index.php/Android:Playing_Sound_Effects_With_SoundPool
Пример:
private static final int rId = R.raw.sound;
private int sid=-1;
private boolean loaded = false;
SoundPool soundPool;
private SoundPool.OnLoadCompleteListener listener =
new SoundPool.OnLoadCompleteListener(){
@Override
public void onLoadComplete(SoundPool soundPool, int sid, int status){ // could check status value here also
if (this.sid == sid) {
this.loaded = true;
}
}
};
public void initSound() {
soundPool = new SoundPool(5, AudioManager.STREAM_MUSIC, 100);
soundPool.setOnLoadCompleteListener(listener);
this.sid = soundPool.load(getApplicationContext(), rId, 1);
}
public void SoundPlay() {
new Thread(new Runnable() {
@Override
public void run() {
if (loaded) {
soundPool.play(this.sid, 1.0, 1.0, 1, 0, 1f);
}
}).start();
}
Итак, вы должны добавить конструктор типа:
MyPagerAdapter() {
initSound();
}
и воспроизводить каждый раз в instantiateItem () с помощью SoundPlay ();
Я не тестировал вышеуказанный код как есть, но использую аналогичные в своих собственных материалах.