青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

天行健 君子當自強而不息

用DirectX Audio和DirectShow播放聲音和音樂


用DirectX Audio和DirectShow播放聲音和音樂(7)      摘要: MP3是一種音頻壓縮格式,它通過刪除或修改音樂中不易被人耳察覺的部分來使音樂更小,占用的存儲空間更少。在項目中使用MP3(.MP3文件)需要使用 DirectX中的DirectShow組件,在這個組件的幫助下,只需幾行短短的代碼,就能使用任意的MP3文件了(DirectShow也支持其他的媒體文件,比如WMA,AVI,MPG等)。當然要想使用更多的媒體文件,必須已經在操作系統中安裝了解碼器。

解碼器(codec)是一個程序,用于解碼或編碼一些指定的格式(比如MP3解碼器專門解碼.MP3文件)。通常可以從發明或者創建這種格式的公司中獲取這種格式的解碼器。比如, MP3解碼器來自于Fraunhofer Insitute。幸運的是,MP3解碼器等幾種比較流行的解碼器已經被集成到操作系統中(比如.mp3,.avi,.mpg等),而無需另外從 internet下載這些格式的解碼器了。

要在項目中使用DirectShow,需要包含dshow.h頭文件,并且在鏈接庫中加入strmiids.lib。  
 
用DirectX Audio和DirectShow播放聲音和音樂(6)      摘要: DirectMusic加載器在使用固有文件或者MIDI文件的時候會自動加載默認的音色庫。樂器總是被一組一組地使用,很多組樂器音色的集合被稱之為 DLS音色庫(可下載的音樂)。每組樂器使用三個值編號,它們是:最高有效位(most-significant byte,MSB),最低有效位(least-significant byte,LSB)和組編號。

通常播放MIDI文件的樂器組是標準化的,也就是說編號為1的樂器總是鋼琴,如果想使用新的鋼琴作為樂器,可以從DLS集合中加載。 DirectMusic包含了標準的樂器集合,通常稱之為GM/GS集合(GM = General MIDI,GS = General Synthesizer),這個集合由日本羅蘭(Roland)公司提出,稱為MIDI合成器標準。
  
 
用DirectX Audio和DirectShow播放聲音和音樂(5)      摘要: 在DirectAudio中,DirectSound負責數字音頻方面的處理,而DirectMusic則負責Midi文件(Musical Instrument Data Interface,數字音樂格式,.mid作為文件擴展名),DirectMusic固有音樂文件(.sgt文件)和數字錄音設備錄制的波形格式文件(.wav文件)等文件的播放操作。

能體現DirectMusic的強大之處是DirectMusic固有文件格式,一首用DirectMusic固有文件格式制作的音樂包括數個小音樂格式,這些樣式還能用不同的樂器組合一個接一個地播放。隨機的樣式和樂器的選取創造出了隨時都在改變的音樂,再加上節拍變化,就形成了一個魅力無窮的音樂系統。DirectMusic的另一個特性是可以使用“基調”,就是在正在播放的音樂片段上疊加一段其他音樂,新加入的音樂可以很平滑的融入到原有的音樂中。這在很多時候都有用,比如一個玩家完成了一個目標,可以馬上播放一段“獲得榮譽”的音樂提示他。 
 
用DirectX Audio和DirectShow播放聲音和音樂(4)      摘要: “通告”是一種觸發機制,當緩存中播放位置達到某個固定的位置時,就會向程序發出通知。有了通告,就可以知道播放什么時候結束,這種機制在比較長的聲音中特別有效。通告使用一個叫做IDirectSoundNotify8的對象,這個程序的作用就是在音頻緩存中標記一個位置,然后觸發事件通知應用程序,而應用程序可以通過消息循環或者單獨的線程進行處理。

標記的位置可以是一個緩存中的偏移值,也可以是由宏指定的停止標記,這個表示停止的宏是DSBPN_OFFSETSTOP。并不是任何偏移值都可以用來作為通告發生的位置,這個值必須和音頻的數據塊對齊,并且通告的偏移必須按照從小到大的順序排列。偏移值是不能夠共享的,如果使用 DSBPN_OFFSETSTOP宏,它必須被放在最后。舉例來說,對于一個塊大小為2的音頻(單聲道、16位),嘗試對偏移為4和5的位置設通告會導致失敗,因為偏移量位置4和5都在同一個數據塊中。 
 
用DirectX Audio和DirectShow播放聲音和音樂(3)      摘要: 所謂聲道平衡就是調節左右聲道的大小, DirectSound定義了兩個宏幫助把聲道平衡調節到最左邊和最右邊,使用DSBPAN_LEFT將聲道調整到最左邊,使用DSBPAN_RIGHT 將聲道調整到最右邊。

通過調用IDirectSoundBuffer8::SetPan函數可以調節聲道平衡。   
 
用DirectX Audio和DirectShow播放聲音和音樂(2)      摘要: 讓緩存在程序啟動的時候開始播放可以節省不少處理器時間。因為內存資源是有限的,特別是在硬件設備中,而你使用的數據緩存可能需要任意大小,因此主音頻緩沖區和輔助緩沖區使用環形緩存。因為數據緩沖是一個一維數組,所以可以讓這個緩沖區頭尾相接。這是一個十分強大的技術,利用這個技術我們可以節省大量的內存。

聲音在進行混音處理后,被送入環形主音頻緩存。一旦播放位置到達主音頻緩存的終點,聲音又從頭開始播放,這樣聲音就被無間隙地連續播放。如果想要使用緩存的這種循環特性,需要指定啟用循環播放的特性,若不然當播放到緩沖區終點時,播放就停止了。

為了播放緩存中的音頻數據(在開啟循環選項的情況下播放),需要調用Play函數。  
 
用DirectX Audio和DirectShow播放聲音和音樂(1)      摘要: 音樂就是一系列的音符,這些音符在不同的時間用不同的幅度被播放或者停止。有非常多的指令被用來播放音樂,但是這些指令的操作基本相同,都在使用各種各樣不同的音符。在計算機上進行作曲,實際上是存儲了很多組音樂,回放時由音頻硬件將這些音符播放出來。

Midi格式(文件擴展名是.MID)是存儲數字音樂的標準格式。

DirectMusic 音樂片段(music segments)使用.SGT文件擴展名,其他的相關文件包括樂隊文件(band file .BND),這種文件里面包含樂器信息;弦映射表文件(chordmaps file .CDM)包含在回放時修改音樂的和弦指令;樣式文件(styles file .STY)包含回放樣式信息;模板文件(templates file .TPL)包含創造音樂片段的模板。  


posted on 2007-09-24 23:38 lovedday 閱讀(3808) 評論(0)  編輯 收藏 引用 所屬分類: ■ DirectX 9 Program

公告

導航

統計

常用鏈接

隨筆分類(178)

3D游戲編程相關鏈接

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            99re热这里只有精品视频| 亚洲欧美日韩国产成人| 欧美激情第1页| 久久青草欧美一区二区三区| 午夜精品久久久久影视| 午夜在线视频观看日韩17c| 亚洲免费在线| 久久精品欧美日韩| 欧美福利在线观看| 欧美日韩国产首页在线观看| 国产精品va在线播放| 国产欧美日韩综合一区在线观看| 国产一区二区三区久久久久久久久 | 激情伊人五月天久久综合| 一区二区亚洲欧洲国产日韩| 玖玖玖国产精品| 亚洲精品在线视频| 亚洲国产国产亚洲一二三| 亚洲午夜视频在线观看| 国产一区二区三区免费不卡| 欧美区二区三区| 久久精品午夜| 亚洲成色精品| 亚洲视频国产视频| 久久成人免费日本黄色| 久久综合免费视频影院| 欧美日韩亚洲高清| 精品不卡视频| 亚洲一区尤物| 农夫在线精品视频免费观看| 亚洲欧洲一二三| 欧美一区二区三区在线免费观看| 欧美成人视屏| 国产日韩欧美在线看| 91久久综合亚洲鲁鲁五月天| 亚洲欧美中日韩| 99热免费精品在线观看| 免费亚洲电影在线观看| 欧美午夜影院| 精品动漫一区| 亚洲欧美日韩直播| 最新亚洲视频| 久久亚洲国产成人| 国产日韩视频| 亚洲欧美在线看| 日韩写真在线| 欧美精品在欧美一区二区少妇| 国产一区亚洲一区| 欧美一区二区在线视频| 一区二区日韩免费看| 欧美精品久久99| 亚洲精品美女在线观看| 免费成人黄色| 久久综合色一综合色88| 国外成人免费视频| 久久久久久亚洲精品杨幂换脸 | 欧美自拍偷拍午夜视频| 欧美亚洲一区二区在线观看| 精品不卡在线| 亚洲欧洲精品一区二区三区不卡 | 欧美一区二区在线播放| 性色av一区二区怡红| 亚洲精品久久7777| 欧美视频一区二区在线观看| 蜜臀a∨国产成人精品| 亚洲欧美www| 久久久久国产精品午夜一区| 国产精品国产成人国产三级| 一区二区精品| 日韩视频免费观看高清完整版| 欧美jizzhd精品欧美巨大免费| 在线观看国产日韩| 欧美www视频| 欧美国产综合| 亚洲免费一级电影| 午夜精品久久久久久久久| 国产欧美日韩另类视频免费观看| 亚洲欧美日韩国产综合| 亚洲综合大片69999| 狠狠色丁香久久婷婷综合丁香| 蜜桃av一区二区三区| 欧美成人精品激情在线观看| 99精品久久免费看蜜臀剧情介绍| 一本色道久久综合精品竹菊| 国产乱码精品1区2区3区| 久久久噜噜噜久久| 免费试看一区| 香蕉成人伊视频在线观看 | 在线观看91久久久久久| 永久免费视频成人| 好吊视频一区二区三区四区| 在线欧美电影| 欧美性开放视频| 久久综合久久综合久久综合| 欧美国产激情二区三区| 亚洲国产另类久久精品| 欧美黄色大片网站| 亚洲国内自拍| 欧美在线观看网址综合| 亚洲国产裸拍裸体视频在线观看乱了中文 | 一本色道久久综合精品竹菊| 亚洲另类视频| 国产视频综合在线| 欧美日本在线一区| 久久久精品2019中文字幕神马| 亚洲黄色免费| 亚洲第一区中文99精品| 国产一区二区中文字幕免费看| 久久久91精品| 午夜欧美大尺度福利影院在线看| 91久久久久久国产精品| 久久影院午夜论| 久久五月婷婷丁香社区| 欧美在线资源| 欧美在线免费观看视频| 一区二区三区毛片| 一区二区三区欧美成人| 亚洲视频二区| 伊人久久婷婷色综合98网| 国产精品国产三级国产专区53| 欧美11—12娇小xxxx| 欧美人在线视频| 国产日韩一区欧美| 国产在线视频欧美| 在线观看av不卡| 亚洲看片免费| 国产精品亚洲一区二区三区在线| 亚洲欧洲日本在线| 欧美激情欧美激情在线五月| 亚洲大胆美女视频| 一本色道久久综合亚洲精品小说| 日韩亚洲欧美成人| 久久综合久久综合九色| 欧美日韩第一区| 国内综合精品午夜久久资源| 亚洲黄一区二区| 久久福利资源站| 亚洲精品日韩激情在线电影| 国产精品乱子乱xxxx| 99re这里只有精品6| 亚洲天堂av在线免费观看| 一区二区三区自拍| 国产女主播一区二区三区| 黄色国产精品| 亚洲欧美久久久久一区二区三区| 久久电影一区| 欧美aⅴ一区二区三区视频| 亚洲一区精品在线| 国外成人性视频| 亚洲肉体裸体xxxx137| 欧美日本亚洲视频| 久久黄金**| 日韩亚洲在线| 国产亚洲一区二区三区在线播放| 欧美1区2区视频| 国产精品久久久久国产a级| 久久人体大胆视频| 国产欧美另类| 亚洲二区视频在线| 欧美日韩免费视频| 性欧美精品高清| 久久中文在线| 欧美在线播放| 欧美在线一级va免费观看| 欧美日韩午夜视频在线观看| 亚洲黄色在线看| 亚洲图片激情小说| 一区二区av在线| 欧美日本国产精品| 中文在线资源观看视频网站免费不卡| 亚洲电影免费在线观看| 国产精品二区二区三区| 欧美www视频在线观看| 欧美三级电影大全| 欧美激情a∨在线视频播放| 亚洲视频一区二区免费在线观看| 国产欧美日韩亚洲精品| 亚洲破处大片| 在线精品视频免费观看| 欧美成人tv| 在线精品国产欧美| 久久免费视频在线| 欧美在线免费视屏| 国产午夜精品全部视频在线播放| 狠狠色狠狠色综合人人| 亚洲国产精品久久人人爱蜜臀| 国产精品爽黄69| 亚洲欧美日本日韩| 午夜精品久久久久久久久| 欧美日韩久久不卡| 日韩视频精品在线| 亚洲色图制服丝袜| 欧美日韩亚洲视频| 欧美激情第三页| 亚洲神马久久| 麻豆精品一区二区av白丝在线| 99国产精品| 加勒比av一区二区| 国产精品成人在线观看| 欧美福利一区|