色综合天天_bl高肉强受失禁尿出来v文_日处女视频_在线观看国产剧情麻豆精品

十三年專注于網站建設與互聯網應用開發,低調、有情懷的網絡應用服務商!
南昌百恒科技微信公眾號 掃一掃關注
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關注百恒科技微信公眾號

在Android開發中加載音頻文件的方法有哪些

百恒 2017-03-16 16:54:53 5277
? ? ? ?在Android開發中,由于企業發展需要,有時候會要求南昌APP開發公司在進行安卓開發時開發音頻播放功能,這就需要安卓程序師在開發中寫好加載音頻文件的程序,這樣才能實現音頻正常播放,那么如何加載音頻文件呢?需要用到哪些方法?接下來百恒網絡就來為大家做個簡單介紹,供大家參考、學習!

? ? ? ?相比其他音頻播放方法,SoundPool還有個快速響應的優勢:指令剛一發出,它就會立即開始播放,一點都不拖沓。不過反應快也是有代價的,那就是在播放前必須預先加載音頻。SoundPool加載的音頻文件都有自己的Integer類型ID。
如下代碼清單所示,在Sound類中添加mSoundId實例變量,并添加相應的獲取方法和設置方法管理這些ID。

? ? ? ?代碼清單:添加mSoundId實例變量(Sound.java)
? ? ? ?public class Sound {
? ? ? ?private String mAssetPath;
? ? ? ?private String mName;
? ? ? ?private Integer mSoundId;
? ? ? ?...
? ? ? ?public String getName() {
? ? ? ?return mName;
? ? ? ?}
? ? ? ?public Integer getSoundId() {
? ? ? ?return mSoundId;
? ? ? ?}
? ? ? ?public void setSoundId(Integer soundId) {
? ? ? ?mSoundId = soundId;
? ? ? ?}
? ? ? ?}
? ? ? ?注意,mSoundId用了Integer類型而不是int。這樣,在Sound的mSoundId沒有值時可以設置其為null值。
? ? ? ?現在處理音頻加載。在BeatBox中添加一個load(Sound)方法載入音頻,如下代碼清單所示。
? ? ? ?代碼清單:加載音頻(BeatBox.java)
? ? ? ?private void loadSounds() {
? ? ? ?...
? ? ? ?}
? ? ? ?private void load(Sound sound) throws IOException {
? ? ? ?AssetFileDescriptor afd = mAssets.openFd(sound.getAssetPath());
? ? ? ?int soundId = mSoundPool.load(afd, 1);
? ? ? ?sound.setSoundId(soundId);
? ? ? ?}
? ? ? ?}
? ? ? ?調用mSoundPool.load(AssetFileDescriptor, int)方法可以把文件載入SoundPool待播。為方便管理、重播或卸載音頻文件,mSoundPool.load(...)方法會返回一個int型ID。這實際就是存儲在mSoundId中的ID。調用openFd(String)方法有可能拋出IOException,load(Sound)方法也是如此。

? ? ? ?現在,在BeatBox.loadSounds()方法中,調用load(Sound)方法載入全部音頻文件,如下面代碼清單所示。
? ? ? ?代碼清單:載入全部音頻文件(BeatBox.java)
? ? ? ?private void loadSounds() {
? ? ? ?...
? ? ? ?for (String filename : soundNames) {
? ? ? ?try {
? ? ? ?String assetPath = SOUNDS_FOLDER + "/" + filename;
? ? ? ?Sound sound = new Sound(assetPath);
? ? ? ?load(sound);
? ? ? ?mSounds.add(sound);
? ? ? ?} catch (IOException ioe) {
? ? ? ?Log.e(TAG, "Could not load sound " + filename, ioe);
? ? ? ?}
? ? ? ?}
? ? ? ?}
? ? ? ?運行應用確認音頻都已正確加載。否則,會看到LogCat中的紅色異常日志。

? ? ? ?其實加載音頻文件的方法還有很多,百恒網絡今天就為大家介紹這一種,想了解更多APP開發方面的技術知識,歡迎訪問南昌APP開發公司-百恒網絡 http://zzzhenghong.cn/,我們專業為您服務!
400-680-9298,0791-88117053
掃一掃關注百恒網絡微信公眾號

歡迎您的光顧,我們將竭誠為您服務×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
備案專線 備案專線
 
售后服務 售后服務
 
×