2011-10-16 31 views
5

Tôi đã tìm kiếm StackOverflow và không thể tìm thấy một situtation như của tôi. Tôi đang sử dụng bốn nút với mỗi nút phát một tệp âm thanh.
Tôi đang sử dụng Soundpool:
SoundPool sound = new SoundPool(4, AudioManager.STREAM_MUSIC, 0);

Tôi cũng đang sử dụng OnLoadCompleteListener() trong đó sử dụng Đăng nhập để tạo ra một thông báo tôi trong LogCat.
Khi tôi khởi động chương trình trong trình giả lập, tôi thấy tất cả bốn mẫu hoàn tất tải. Tuy nhiên, trong chương trình, ba âm thanh sẽ phát ra:
WARN/SoundPool(4842): sample 0 not READY

Bất kỳ ý tưởng nào .. gây ra tôi khá kinh ngạc. Các tập tin âm thanh là tập tin sóng 16-bit pcm chơi nhạc chuông vuông.
tải Code:
sound.setOnLoadCompleteListener(new OnLoadCompleteListener(){Android 2.2 - SoundPool mẫu 0 không phải là READY

 @Override 
     public void onLoadComplete(SoundPool sound, int sampleId, int status) { 
      if(status != 0) 
       Log.e("SOUND LOAD"," Sound ID: " + sampleId + " Failed to load."); 
      else 
       Log.i("SOUND LOAD"," Sound ID: " + sampleId + " loaded."); 
     } 
    }); 

    soundID[0] = sound.load(this, R.raw.greennote, 1); 
    soundID[1] = sound.load(this, R.raw.rednote, 1); 
    soundID[2] = sound.load(this, R.raw.yellownote, 1); 
    soundID[3] = sound.load(this, R.raw.bluenote, 1); 


Chơi âm thanh:

streamid.setStreamId(myActivity.sound.play(id, 0.5f, 0.5f, 0, 0, 1)); 

+0

Chỉnh sửa câu hỏi của bạn để bao gồm mã tải và phát âm thanh. – Squonk

Trả lời

2

Tôi đang gặp những vấn đề tương tự. Từ các thử nghiệm của tôi, có vẻ như đã xảy ra sự cố với việc xử lý ID. SoundPool chỉ không thích ID âm thanh với số 0.

Vì vậy, tôi đã tìm thấy một công việc xung quanh. Bắt đầu ID mẫu của tôi với 1, không phải 0. Hy vọng điều này hoạt động.

+0

Làm thế nào để bạn làm điều đó? Tôi có nghĩa là bắt đầu ID mẫu của bạn với 1? –

+0

Hmmm, tôi đã sử dụng SoundPool với một HashMap để theo dõi tất cả các âm thanh khác nhau. Với HashMap, bạn đặt ID (còn được gọi là 'khóa') theo cách thủ công. Vì có vẻ như bạn không sử dụng HashMap, nhận xét của tôi có lẽ sẽ không có ý nghĩa. Chúc may mắn! –

Các vấn đề liên quan