Android 台灣中文網
標題:
postInvalidate() 能只刷新畫面嗎?
[打印本頁]
作者:
mingminglam
時間:
2013-6-1 15:09
標題:
postInvalidate() 能只刷新畫面嗎?
我動用了postInvalidate()去刷新畫面制做了動畫
可是我希望在程式中能播放數秒音效配合動畫
音效程式碼在這:
static SoundPool sp;
static HashMap<Integer, Integer> map;
在onDraw()裡:
sp = new SoundPool(1, AudioManager.STREAM_MUSIC, 100);
map = new HashMap<Integer, Integer>();
map.put(R.raw.explosion, sp.load(context, R.raw.explosion, 1));
playSound(R.raw.explosion);
public static void playSound(int resId)
{
Integer soundId = map.get(resId);
if(soundId != null)
sp.play(R.raw.explosion, 1, 1, 1, 0, 1);
}
可是因為我每秒都會刷新(postInvalidate())
音效只播放1秒就會重新播放
有方法令音效獨立出來不受刷新影響嗎?
作者:
sheng760504
時間:
2013-6-4 10:37
加個判斷吧...不然不要寫在ondrow裡
作者:
mike110631
時間:
2013-6-6 23:19
你當然可以寫判斷式,讓他還沒播完就不要再呼叫一次
但是你最好的方法,改程式裡面的結構,讓你要播動畫時呼叫一次音樂
動畫結束,音樂結束
在想看看吧!!!
歡迎光臨 Android 台灣中文網 (https://apk.tw/)
Powered by Discuz! X3.1