<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 創(chuàng)客作品:自制足球游戲解說員

          創(chuàng)客作品:自制足球游戲解說員

          作者:EEPW編譯 時間:2015-01-13 來源:電子產(chǎn)品世界 收藏

            上述使用了兩個“聲音”對象。一個用于存儲文件中來自外部文件的數(shù)據(jù);另一個用于播放實際聲音。詳細解釋工作原理的注釋不多,不過還是有必要了解幾個核心概念:

          本文引用地址:http://www.ex-cimer.com/article/268066.htm

            在音頻播放前(送到聲卡)我們借助eventlistener用wavdata填充“外向的”聲音對象,即發(fā)送到聲卡前詢問的數(shù)據(jù),這些數(shù)據(jù)決定顯示哪個口型。

            如果希望播放聲音,我們只需告訴設備,從哪個位置開始提取已加載聲音數(shù)據(jù)的wavdata字節(jié)即可。當?shù)竭_示例音頻的最后部分,我們就停止音頻播放。

            最棘手的部分是將中的標簽數(shù)據(jù)轉(zhuǎn)換成“示例數(shù)據(jù)抵消”值以及使音頻在恰當?shù)奈恢脝?停止。中的標簽位置由運行時間決定。但“樣本”數(shù)據(jù)不基于時間,這就使其與匹配出現(xiàn)問題。

            對于每個示例,都占用4個字節(jié),據(jù)此可以計算出,一秒的音頻數(shù)據(jù),若以CD品質(zhì)44.1 khz記錄則應該包含44100 * 8 = 352800個字節(jié)。所以如果我們開始從文件中提取樣本數(shù)據(jù)并加載352800字節(jié),就可以有效地播放一秒的音頻。同樣,從5秒開始回放則需要從44100 * 8 * 5 = 1764000字節(jié)處開始提取音頻樣本數(shù)據(jù)。

            為了減少文件大小(并縮減操縱文件開銷)我們在mono 樣本、以11025 hz頻率進行記錄。這就意味著每個示例中我們只占用4字節(jié)(因為沒有左/右跟蹤,針對單個、mono追蹤我們只占用4個字節(jié)為)而非8個。所以我們需要計算字節(jié)偏移量為:

            startByte= 11025 * 4 * timeInSeconds

            網(wǎng)址如下:http://www.nerdclub.co.uk/lipsync_demo.htm

            但任務還沒完成,例如我們?nèi)孕枰獜耐獠课募虞d線索點(并非將其嵌入代碼中)。但無論怎樣我們已經(jīng)大體上闡明了設計思想。一旦從外部文件完成線索點和實際mp3音頻的加載,我們就有足夠的理由說,我們這款屬于用戶可編輯類型的足球游戲有望實現(xiàn)!


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();