2010-07-23 7 views
4

특정 사운드를 반복하기 위해 SoundPool 기능을 사용하는 SoundManager 클래스를 만들었지 만 사운드가 재생되지 않는 이유를 알 수 없습니다. 이 클래스를 통해 내 활동에서 호출되는SoundPool이 사운드를 재생하지 않습니다.

public class SoundManager { 
private SoundPool mSoundPool; 
private HashMap<Integer, Integer> mSoundPoolMap; 
private AudioManager mAudioManager; 
private Context mContext; 

public SoundManager() 
{ 

} 

public void initSounds(Context theContext) { 
    mContext = theContext; 
    mSoundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 0); 
    mSoundPoolMap = new HashMap<Integer, Integer>(); 
    mAudioManager = (AudioManager)mContext.getSystemService(Context.AUDIO_SERVICE);   
} 

public void addSound(int Index, int SoundID) { 
    mSoundPoolMap.put(Index, mSoundPool.load(mContext, SoundID, 1)); 
} 

public void playSound(int index) { 
    int streamVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC); 
    mSoundPool.play(mSoundPoolMap.get(index), streamVolume, streamVolume, 1, 0, 1f); 
} 

public void playLoopedSound(int index) { 
    int streamVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC); 
    mSoundPool.play(mSoundPoolMap.get(index), streamVolume, streamVolume, 1, -1, 1f); 
} 

} : 이벤트 (텐트 일어날 때 분명히 내 활동에서 onCreate 작동하지만 호출하지 않습니다

private SoundManager mSoundManager; 
mSoundManager = new SoundManager(); 
mSoundManager.initSounds(getBaseContext()); 
mSoundManager.addSound(1, R.raw.sound); 
mSoundManager.playSound(1); 

답변

2

/키를 누를 때) 작동하는 것 같습니다

1

나는이 문제가 있었고 마침내 오디오를 지원하는 에뮬레이터에서 실행하여 해결했습니다!

믿기지가 않습니다.

Window> AVD Manager> AVD 편집 (스냅 샷에서 실행 중이기 때문에 새로운 것을 만들었습니다)> 하드웨어> 새로 만들기> 오디오 재생 지원

관련 문제