2012-08-01 46 views
1

我有一個C#winform應用程序。它處理一些音效。C#winform,嵌入大尺寸的聲音文件或將它們放在單獨的文件夾中?

我想知道是否應該讓它們嵌入資源或將它們放在應用程序目錄中的文件夾中。

我不希望我的應用程序的用戶惹他們。這就是爲什麼我不想把它們放在文件夾中,但也有我想的問題。它們的總大小約爲150個Mig,所以如果我要讓它們嵌入,這個大小是否會影響我的應用程序的性能?

如果是這樣,將壓縮他們在ZIP文件真的有幫助嗎?

+0

Zip壓縮的將工作很差的音頻文件 - 即使WAV。 – FastAl 2013-06-07 20:34:14

回答

2

沒有正確的答案 - 但這裏是我的0.02美元。

我認爲你應該讓他們分開,不用擔心如果用戶與他們混淆。如果真的很重要,他們永遠不會改變文件的散列並存儲散列,那麼如果它們發生變化就會拋出一個錯誤。將它們包含在二進制文件中可能不會有助於提高性能 - 並且可能會影響您的加載時間,但這會使您的exe變得更大,並使其更新和部署更加困難。

+0

+1散列是一個好主意。 – 2012-08-01 00:30:44

1

你不應該在exe中嵌入150MB的聲音文件!

假設你會使用Windows Installer(MSI),包括文件到安裝程序,您可以在調試模式和發佈模式播放的文件:

string file = @"C:\TFS\DevProject\bin\Debug\Metallica.resources"; 
file = file.Replace("\bin\Debug\",string.Empty); 
file = file.Replace(".resources",".mp3"); 
System.Diagnostic.Process.Start(file); 

注:資源擴展(而比mp3等),因此用戶不會知道如何打開它們,除非他們執行binary analysis

如果您使用ClickOnce部署做類似的事情。

updating your application不包括媒體文件...

相關問題