<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] # **pygame.mixer** 用于加載和播放聲音的pygame模塊 ## **函數** * pygame.mixer.init — 初始化混音器模塊 * pygame.mixer.pre\_init — 預設混音器初始化參數 * pygame.mixer.quit — 卸載混音器模塊 * pygame.mixer.get\_init — 測試混音器是否初始化 * pygame.mixer.stop — 停止播放所有通道 * pygame.mixer.pause — 暫停播放所有通道 * pygame.mixer.unpause — 恢復播放 * pygame.mixer.fadeout — 淡出停止 * pygame.mixer.set\_num\_channels — 設置播放頻道的總數 * pygame.mixer.get\_num\_channels — 獲取播放頻道的總數 * pygame.mixer.set\_reserved — 預留頻道自動使用 * pygame.mixer.find\_channel — 找到一個未使用的頻道 * pygame.mixer.get\_busy — 測試混音器是否正在使用 ## 類 * pygame.mixer.Sound — 從文件或緩沖區對象創建新的Sound對象 * pygame.mixer.Channel — 創建一個Channel對象來控制播放 此模塊包含用于加載 Sound 對象和控制播放的類。混音器模塊是可選的,取決于SDL\_mixer。您的程序應該在使用它之前 測試 pygame.mixer 模塊是否可用并進行初始化。 混音器模塊具有有限數量的聲音播放聲道。通常程序會告訴 pygame 開始播放音頻,它會自動選擇一個可用的頻道。默認為8個并發通道,但復雜的程序可以更精確地控制通道數量及其使用。 所有聲音播放都混合在后臺線程中。當您開始播放Sound對象時,它會在聲音繼續播放時立即返回。單個Sound對象也可以自動播放多次。 混音器還有一個特殊流通道用于音樂播放,可通過 pygame.mixer.music 模塊訪問。 混音器模塊必須像其他 pygame 模塊一樣進行初始化,但它有一些額外的條件。pygame.mixer.init() 函數采用幾個可選參數來控制播放速率和樣本大小。Pygame將 默認為合理的值,但pygame無法執行聲音重采樣,因此應初始化混音器以匹配音頻資源的值。 注意:不要使用較少的延遲聲音,請使用較小的緩沖區大小。 默認設置為減少某些計算機上發出沙啞聲音的可能性。 您可以在 pygame.mixer.init() 或者 pygame.init() 之前 通過調用pygame.mixer.pre\_init()預設混合器初始化參數來更改默認緩沖區。 例如:pygame.mixer.pre\_init(44100,-16,2,1024)。在pygame 1.8中,默認大小從1024更改為3072。 ## **函數詳解** ### **pygame.mixer.init()** 初始化混音器模塊 init(frequency=22050, size=-16, channels=2, buffer=4096) -> None 初始化混音器模塊以進行聲音加載和播放。默認參數可以被改變以提供特定的音頻混合。允許使用關鍵字參數。對于參數設置為零的向后兼容性,使用默認值(可能由pre\_init調用更改)。 size參數表示每個音頻樣本使用的位數。如果值為負,則將使用帶符號的樣本值。正值表示將使用不帶符號的音頻樣本。無效值會引發異常。 pygame 2中的新功能(使用SDL2編譯時) - 大小可以是32(32位浮點數)。 channels參數用于指定是使用單聲道還是立體聲。1表示單聲道,2表示立體聲。不支持其他值(負值被視為1,大于2的值被視為2)。 buffer參數控制混音器中使用的內部采樣數。默認值應適用于大多數情況。可以降低它以減少延遲,但可能會發生聲音丟失。它可以被提升到更大的值,以確保播放永遠不會跳過,但它會對聲音播放施加延遲。緩沖區大小必須是2的冪(如果不是,則向上舍入到下一個最接近的2的冪)。 某些平臺需要在 display 模塊初始化后初始化pygame.mixer 模塊。頂級pygame.init() 自動處理此問題,但無法將任何參數傳遞給 mixer init。為了解決這個問題,mixer 具有pygame.mixer.pre\_init() 函數在使用頂層初始化之前設置正確默認值。 多次調用是安全的,但是在初始化混音器后,如果沒有先調用 pygame.mixer.quit(),則無法更改播放參數 。 ### **pygame.mixer.pre\_init()** 預設混音器初始化參數 pre\_init(frequency=22050, size=-16, channels=2, buffersize=4096) -> None 調用 pre\_init 可以更改調用 真正的初始化 pygame.mixer.init() 使用的默認值。允許使用關鍵字參數。設置自定義混音器播放值的最佳方法是 在調用頂級 pygame.init() 之前調用 pygame.mixer.pre\_init()。對于向后兼容性參數,零值將替換為啟動默認值。 ### **pygame.mixer.quit(**) 退出混音器 quit() -> None 這將卸載 pygame.mixer,如果稍候重新初始化,則所有播放將停止并且任何加載的Sound對象可能與混音器不兼容。 ### **pygame.mixer.get\_init()** 測試混音器是否初始化 get\_init() -> (frequency, format, channels) 如果混合器已初始化,則返回正在使用的播放參數。如果混音器尚未初始化,則返回None ### **pygame.mixer.stop()** 停止播放所有聲道 stop() -> None 這將停止所有活動混音器通道的播放。 ### **pygame.mixer.pause()** 暫時停止播放所有聲道 pause() -> None 這將暫時停止活動混音器通道上的所有播放。稍后可以 通過 pygame.mixer.unpause() 恢復播放 ### **pygame.mixer.unpause()** 恢復播放聲道 unpause() -> None 這將在暫停后恢復所有活動聲道。 ### **pygame.mixer.fadeout()** 停止前淡出所有聲音的音量 fadeout(time) -> None 這將在設定時間上淡出所有活動通道上的音量,時間以毫秒為單位。聲音靜音后,播放將停止。 ### **pygame.mixer.set\_num\_channels()** 設置播放頻道的總數 set\_num\_channels(count) -> None 設置調音臺的可用頻道數。默認值為8。可以增加或減少該值。如果該值減小,則截斷的通道上播放的聲音將停止。 ### **pygame.mixer.get\_num\_channels()** 獲取播放頻道的總數 get\_num\_channels() -> count 返回當前活動的播放通道數。 ### **pygame.mixer.set\_reserved()** 預留頻道自動使用 set\_reserved(count) -> None 調音臺可以保留任意數量的通道,這些通道不會被聲音自動選擇播放。如果聲音當前正在預留頻道播放,則不會停止。 這允許應用程序為重要聲音保留特定數量的聲道,這些聲音不得被丟棄或具有可保證的頻道。 ### **pygame.mixer.find\_channel()** 找到一個未使用的頻道 find\_channel(force=False) -> Channel 這將找到并返回一個非活動的Channel對象。如果沒有非活動通道,則此函數將返回None。如果沒有非活動通道且force參數為True,則會找到運行時間最長的聲道并返回它。 如果調音臺有 pygame.mixer.set\_reserved() 保留頻道,則此處不會返回這些頻道。 ### **pygame.mixer.get\_busy()** 測試mixer 是否正忙 get\_busy() -> bool 如果混音器正忙,則返回True。如果混音器處于空閑狀態,則返回False。 ## 類 ### **pygame.mixer.Sound** 從文件或緩沖區對象創建新的Sound對象 > Sound(filename) -> Sound > Sound(file=filename) -> Sound > Sound(buffer) -> Sound > Sound(buffer=buffer) -> Sound > Sound(object) -> Sound > Sound(file=object) -> Sound > Sound(array=object) -> Sound * pygame.mixer.Sound.play - 開始播放聲音 * pygame.mixer.Sound.stop - 停止聲音播放 * pygame.mixer.Sound.fadeout - 淡出后停止聲音播放 * pygame.mixer.Sound.set\_volume - 設置此聲音的播放音量 * pygame.mixer.Sound.get\_volume - 獲取播放音量 * pygame.mixer.Sound.get\_num\_channels - 計算此聲音播放的次數 * pygame.mixer.Sound.get\_length - 得到聲音的長度 * pygame.mixer.Sound.get\_raw - 返回Sound樣本的bytestring副本。 從文件名,python文件對象或可讀緩沖區對象加載新的聲音緩沖區。將執行有限的重新采樣以幫助樣本匹配混音器的初始化參數。Unicode字符串只能是文件路徑名。Python 2.x字符串或Python 3.x字節對象可以是路徑名或緩沖區對象。使用’file’或’buffer’關鍵字來避免歧義; 否則Sound可能會猜錯。如果使用了array關鍵字,則該對象應該導出版本3,C級別數組接口,或者對于Python 2.6或更高版本,導出新的緩沖區接口(首先檢查該對象的緩沖區接口。) Sound對象表示實際的聲音樣本數據。更改Sound對象狀態的方法將是Sound播放的所有實例。Sound對象還導出數組接口,對于Python 2.6或更高版本,還會導出新的緩沖區接口。 可以從OGG音頻文件或未壓縮的 WAV 文件加載聲音。 注意:緩沖區將在內部復制,不會在它與Sound對象之間共享數據。 目前緩沖區和數組支持與sndarray.make\_sound 數值數組一致,因為忽略了樣本符號和字節順序。這將通過正確處理符號和字節順序或在不同時引發異常來改變。此外,截斷源樣本以適合音頻樣本大小。這不會改變。 pygame.mixer.Sound(buffer)是pygame 1.8中新增的pygame.mixer.Sound關鍵字參數和數組接口支持pygame 1.9.2中的新功能。 ### **play()** 開始播放聲音 play(loops=0, maxtime=0, fade\_ms=0) -> Channel 在可用頻道上開始播放聲音(即,在計算機的揚聲器上)。 這將強制選擇一個頻道,因此如有必要,播放可能會切斷當前正在播放的聲音。 loops參數控制第一次播放后樣本重復的次數。 值 5 表示聲音將播放一次,然后重復播放五次,因此共播放六次。 默認值(0)表示聲音不重復,因此只播放一次。 如果循環設置為-1,則Sound將無限循環(但是您仍然可以調用stop()來停止它)。 maxtime參數可用于在給定的毫秒數后停止播放。 fade\_ms參數將使聲音以0音量開始播放,并在給定時間內逐漸升至全音量。 樣本可以在淡入完成之前結束。 這將返回所選通道的Channel對象。 ### **stop()** 停止聲音播放 stop() -> None 這將停止在任何活動頻道上播放此聲音。 ### **fadeout()** 淡出后停止聲音播放 fadeout(time) -> None 這將在以毫秒為單位在時間參數上淡出后停止播放聲音。Sound會在所有播放的頻道上消失并停止。 ### **set\_volume()** 設置此聲音的播放音量 set\_volume(value) -> None 這將設置此聲音的播放音量(響度)。如果正在播放,這將立即影響聲音。它也會影響此聲音的任何未來播放。參數是從0.0到1.0的值。 ### **get\_volume()** 獲取播放音量 get\_volume() -> value 返回0.0到1.0之間的值,表示此Sound的音量。 ### **get\_num\_channels()** 計算此聲音播放的次數 get\_num\_channels() -> count 返回此聲音正在播放的活動頻道數。 ### **get\_length()** 得到聲音的長度 get\_length() -> seconds 以秒為單位返回此聲音的長度。 ### **get\_raw()** 返回Sound樣本的bytestring副本。 get\_raw() -> bytes 將Sound對象緩沖區的副本作為字節(對于Python 3.x)或str(對于Python 2.x)對象返回。 pygame 1.9.2中的新功能。 ## 類 ### **pygame.mixer.Channel** 創建一個Channel對象來控制播放 Channel(id) -> Channel * pygame.mixer.Channel.play - 在特定頻道播放聲音 * pygame.mixer.Channel.stop - 停止在頻道上播放 * pygame.mixer.Channel.pause - 暫時停止播放頻道 * pygame.mixer.Channel.unpause - 恢復暫停播放頻道 * pygame.mixer.Channel.fadeout - 淡出通道后停止播放 * pygame.mixer.Channel.set\_volume - 設置播放頻道的音量 * pygame.mixer.Channel.get\_volume - 獲得播放頻道的音量 * pygame.mixer.Channel.get\_busy - 檢查通道是否處于活動狀態 * pygame.mixer.Channel.get\_sound - 得到當前播放的聲音 * pygame.mixer.Channel.queue - 排隊Sound對象以跟隨當前 * pygame.mixer.Channel.get\_queue - 返回排隊的任何聲音 * pygame.mixer.Channel.set\_endevent - 播放停止時讓頻道發送事件 * pygame.mixer.Channel.get\_endevent - 獲取播放停止時頻道發送的事件 返回其中一個當前通道的Channel對象。id必須是從0到 值pygame.mixer.get\_num\_channels() 的值。 Channel對象可用于精確控制Sounds的播放。一個頻道只能播放一個聲音。使用頻道完全是可選的,因為pygame默認可以管理它們。 ### **play()** 在特定頻道上播放聲音 play(Sound, loops=0, maxtime=0, fade\_ms=0) -> None 這將開始播放特定頻道上的聲音。 如果頻道正在播放任何其他聲音,它將被停止。 loops參數與Sound.play()中的含義相同:它是第一次重復聲音的次數。 如果是3,聲音將播放4次(第一次,然后是三次)。 如果循環為-1,則播放將無限重復。 與Sound.play()一樣,maxtime參數可用于在給定的毫秒數后停止播放聲音。 與Sound.play()一樣,fade\_ms參數可以在聲音中淡入淡出。 ### **stop()** 停止在頻道上播放聲音 stop() -> None 停止在頻道上播放聲音。播放停止后,頻道可用于播放新的聲音。 ### **pause()** 暫時停止播放頻道 pause() -> None 暫時停止在頻道上播放聲音。它可以在之后調用 Channel.unpause() 恢復 ### **unpause()** 恢復暫停播放頻道 unpause() -> None 在暫停的頻道上恢復播放。 ### **fadeout()** 淡出通道后停止播放 fadeout(time) -> None 在給定時間參數上淡出聲音后,以毫秒為單位停止播放通道。 ### set\_volume() 設置播放頻道的音量 set\_volume(value) -> None set\_volume(left, right) -> None 設定播放聲音的音量(響度)。當頻道開始播放時,其音量值將被重置。這只會影響當前的聲音。value參數介于0.0和1.0之間。 如果傳遞一個參數,則它將是兩個發言者的音量。如果傳遞兩個參數并且混音器處于立體聲模式,則第一個參數將是左揚聲器的音量,第二個參數將是右揚聲器的音量。(如果第二個參數為None,則第一個參數將是兩個揚聲器的音量。) 如果頻道正在播放set\_volume()已調用的聲音,則會同時考慮這兩個呼叫。例如: > sound = pygame.mixer.Sound(“s.wav”) > channel = s.play() # Sound plays at full volume by default > sound.set\_volume(0.9) # Now plays at 90% of full volume. > sound.set\_volume(0.6) # Now plays at 60% (previous value replaced). > channel.set\_volume(0.5) # Now plays at 30% (0.6 \* 0.5). ### **get\_volume()** 獲得播放頻道的音量 get\_volume() -> value 返回當前播放聲音的通道音量。這沒有考慮到使用的立體聲分離 Channel.set\_volume()。Sound對象也有自己的音量,與音頻混合。 ### **get\_busy()** 檢查通道是否處于活動狀態 get\_busy() -> bool 如果通道正在主動混合聲音,則返回true。如果通道空閑,則返回False。 ### **get\_sound()** 得到當前播放的聲音 get\_sound() -> Sound 返回當前在此頻道上播放的實際Sound對象。如果通道空閑,則返回None。 ### **queue()** 排隊Sound對象以跟隨當前 queue(Sound) -> None 當聲音在頻道上排隊時,它將在當前聲音結束后立即開始播放。每個通道一次只能排隊一個聲音。排隊的聲音僅在當前播放自動結束時播放。在對Channel.stop()或的任何其他呼叫中清除它 Channel.play()。 如果在頻道上沒有主動播放聲音,則聲音將立即開始播放。 ### **get\_queue()** 返回排隊的任何聲音 get\_queue() -> Sound 如果聲音已在此頻道上排隊,則會返回該聲音。一旦排隊的聲音開始播放,它將不再在隊列中。 ### **set\_endevent()** 播放停止時讓頻道發送事件 set\_endevent() -> None set\_endevent(type) -> None 當為某個頻道設置了一個嘗試時,每當一個聲音在該頻道上播放時(不僅僅是第一次),它就會向一個游戲隊列發送一個事件。使用pygame.event.get()一旦它發送到檢索ENDEVENT。 請注意,如果您調用Sound.play(n)或Channel.play(sound,n),結束事件僅發送一次:聲音播放“n + 1”次后(請參閱Sound.play文檔)。 如果在聲音仍然播放時調用Channel.stop()或Channel.play()調用,則會立即發布事件。 type參數將是發送到隊列的事件id。這可以是任何有效的事件類型,但一個好的選擇是pygame.locals.USEREVENT和之間的值 pygame.locals.NUMEVENTS。如果沒有給出類型參數,那么Channel將停止發送事件。 ### **get\_endevent()** 獲取播放停止時頻道發送的事件 get\_endevent() -> type 返回每次Channel完成聲音播放時要發送的事件類型。如果沒有功能返回該功能 pygame.NOEVENT。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看