格式化
廣告
文章分類
廣告2
2013年10月26日 星期六
[Android SDK特色教學] 遊戲、應用程式中播放背景音樂、背景音效
一個遊戲的背景音樂僅僅需要在遊戲運行的時候播放,而在返回到桌面或者進入其他應用使遊戲的activity變為不可見時,都應該立即停止播放,所以遊戲的背景音效或音樂播放根本沒必要使用service。
有人可能說播放背景音樂應該在後台執行,不能影響程序的正常運行,這樣說當然正確,但這僅需要開一個單獨的執行緒來專門播放音樂就可以了,而經我測試,MediaPlayer和SoundPool本身都已經實現了在獨立的執行緒中播放音樂,所以綜上所述在遊戲中播放背景音樂完全沒必要使用 service,那樣完全是捨近求遠,畫蛇添足之舉。只需直接使用MediaPlayer即可。
以下是一個實現遊戲中播放聲音的類別,封裝了MediaPlayer和SoundPool的使用細節,所有方法都定義為靜態方法,在程序啟動時先調用其init方法,然後在任何地方都可以非常方便的使用
[Android SDK特色教學] SoundPool播放音效
參考文章:[Android] SoundPool 音效 (一)-http://style77125tech.pixnet.net/blog/post/152442867
- 使用SoundPool有限制,播放的音檔不可以超過 「1mb」大小,所以要放音樂就不能使用這一個方法,要使用MediaPlay
- SoundPool很容易莫名其妙的自動終止,在使用pause和stop方法時很常很莫名其妙。
- SoundPool優點為CPU資源使用率低,反應延遲較少。
- 用來播放一些短短的音效、急促的效果音很好用。
- 建議使用ogg檔案為音效檔,請先建立資料夾raw放置音效檔案進去。
只要重點3行程式碼就可以播放音效:
[Android SDK特色教學] strings.xml顯示特殊字元
若你在strings.xml定義如下的字串變數
那一定會有很多錯誤跳出來
原因就是不可以直接在strings.xml輸入這些符號來當作字串,而是必須要直接輸入acsii的編碼
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">'""'''@#$%^&</string>
</resources>
那一定會有很多錯誤跳出來
原因就是不可以直接在strings.xml輸入這些符號來當作字串,而是必須要直接輸入acsii的編碼
以下為常見的ASCII十進制交換編碼:
2013年10月24日 星期四
訂閱:
意見
(
Atom
)

![[Android UI 設計] EditText文字垂直置中 [Android UI 設計] EditText文字垂直置中](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDitrr0YaoUgwW-4yuveX7Ird5RJ7J6VhsBJc0ns7RJXPOwd7yBFrUqggDFmYpePSY-kjVXFvOjjBFGIjuRGbbDcQG7msjpvgOKXm-vr0Nkl78tDlU7dqfB2TMUiXp_HXxWOIhlhGcEhU/s1600/android101.jpg)