2010-07-03 85 views
2

我是XNA的新手,我試圖讓用戶編輯他們加載的音頻文件。在XNA中,是否可以選擇時間範圍(例如0:00 - 0: 10)和「作物」這部分作爲一個單獨的實體?我想,基本上,它只是將這些數據複製到一個新文件中。這可以使用XNA音頻庫來完成,如果是這樣,我應該看什麼方法? 謝謝使用XNA裁剪音頻

回答

0

我沒有看到一種方法來做你在說什麼,但在尋找過程中,我確實遇到了這個有用的Audio Overviewtutorial on using Microsoft's Cross-platform Audio Creation Tool (XACT)。既然你是XNA的新手,我希望這些鏈接提供一些幫助。

問題似乎是,預期音頻是根據需要在手前而不是在遊戲中創建的。當然,並不缺少外部audio editors,如Audacity,Aviary,waveosaurAdobe SoundBooth,以幫助在遊戲之外進行編輯。或者,您可以使用XNA/XACT庫的播放功能通過將用戶的時間範圍選擇存儲爲變量並僅在稍後播放音頻的相應部分來「模擬」裁剪。

我希望其中的一些幫助。

-gMale

+0

您好感謝您的答覆。加載的音頻將來自用戶本身,因此我將無法在應用程序之外進行編輯。我用什麼方法將「裁剪」音頻保存到新文件中? – Skoder 2010-07-08 01:24:08

0

據我所知,XNA不包含任何手段來簡單的寫音樂或暗示的對象到一個文件。

如果您希望用戶在XNA遊戲中編輯音頻並將其保存爲可用的音頻文件,則必須發現正確的文件格式並直接寫入。但是,如果您只是希望他們操作音頻以便在遊戲中使用,我相信您還有其他選擇。

你可以序列化對象(爲了保存你的遊戲狀態)。您可以存儲表示您操作音頻的值(例如開始和結束時間),並將它們與提示一起序列化。我必須承認,我從來沒有嘗試序列化音頻提示,但是您可以嘗試將數據推送到XNA內容管道,迫使它在運行時爲您創建XNB文件。

+0

謝謝。我應該考慮設置哪些方法和類來設置當前所選時間等信息?據我所知,我只能得到PlayPosition。有沒有其他.NET類可以幫我寫出WMA文件(例如Silverlight)? – Skoder 2010-07-08 17:01:30