Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android SoundPool sample 1 not ready錯誤解決方法

Android SoundPool sample 1 not ready錯誤解決方法

編輯:關於Android編程

Android SoundPool sample 1 not ready錯誤解決方法
DDMS報的錯是sample not ready的問題,也就是說是在load加載音樂文件出錯,導致在play播放音樂時顯示not ready; 在SoundPool中有setOnLoadCompleteListener方法用來判斷音樂加載是否完成,因此解決方法如下:

一、調用setOnLoadCompleteListener方法來確保音樂加載完成,注意需要SoundPool.OnLoadCompleteListener listener

需要實現SoundPool.OnLoadCompleteListener接口。

soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener(){
@Override
public void onLoadComplete(SoundPool arg0, int arg1, int arg2) {
soundPool.play(soundPoolMap.get(soundId), // 聲音資源id
volume, // 左聲道音量
volume, // 右聲道音量
1, // 優先級
loop, // 循環次數 -1帶表永遠循環
0.5f // 回放速度0.5f~2.0f之間
);
}});


二、可直接在load後面加sleep(1000),具體時間根據加載的文件的多少大小而定,給程序足夠的時間去加載初始化音頻文件。

// 將加載的聲音資源id放進此Map
soundPoolMap.put(1, soundPool.load(this, R.raw.gamestart, 1));
try {
Thread.sleep(1000);// 給予初始化音樂文件足夠時間
} catch (InterruptedException e) {
e.printStackTrace();
}


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved