我需要一種在聲音仍在播放時啓動/停止循環的方式。我發現一起播放多種聲音的最佳方式是使用XNA。所以我從包含音頻片段的SoundEffect
對象開始創建了一個SoundEffectInstance
。 現在的問題是,我有一個按鈕,應該將此剪輯的狀態從「循環」更改爲「非循環」,反之亦然。當聲音仍在播放時,在Windows Phone 8上使用XNA進行音頻循環播放
問題出在這裏: 它引發一個異常,說明必須在第一次播放之前設置循環。 所以我認爲,從「非循環」切換到「循環」時,我可以等待聲音停止,然後重新創建SoundEngineInstance
,設置IsLooped = true
並使其重新開始。 這一個工程,但有一些延遲,這會讓你失去你的時間,所以它是無用的。
我在尋找的是一種在播放聲音時設置或取消設置循環的方式,無需任何延遲。
編輯:
我試圖使用兩個SoundEngineInstance
,一個環和一個不和使用該體積在它們之間簡單地切換。 問題在於第一次播放後非循環播放停止,所以如果我循環播放兩次然後我將它放到非循環播放狀態,就沒有聲音播放,因爲非循環播放片段已經結束了!
對此提出建議?
既然你想讓聲音循環,你會說它更像是一首歌,而不是'SoundEffect'嗎? – ChiefTwoPencils
我有一些簡短的樣本,我希望它們成圈。我正在討論'SoundEffect',因爲這是我用於播放的XNA類。 – StepTNT