如果我想有一個文件,同時具有Mp3軌道和文本組件,我怎麼能在C#中完成這個?音樂和文本在同一個文件C#
具體:我正在創建一個吉他英雄克隆,並且想要一個包含實際聲音(MP3)和音符圖表(我將其作爲文本讀取)的文件。我將如何閱讀和寫這兩個東西到同一個文件?
感謝,
泰Rozak
如果我想有一個文件,同時具有Mp3軌道和文本組件,我怎麼能在C#中完成這個?音樂和文本在同一個文件C#
具體:我正在創建一個吉他英雄克隆,並且想要一個包含實際聲音(MP3)和音符圖表(我將其作爲文本讀取)的文件。我將如何閱讀和寫這兩個東西到同一個文件?
感謝,
泰Rozak
定義自己的文件格式?前4個字節定義了多少文本正在跟隨....閱讀文本。然後文件的其餘部分是MP3。
通過將構建操作設置爲Embedded Resource,您可以將它們作爲資源嵌入到程序集中。
// Read the file in from an embedded resource
Assembly assembly = Assembly.GetExecutingAssembly();
string assemblyNamespace = assembly.GetName().Name;
Stream mp3Stream = assembly.GetManifestResourceStream(assemblyNamespace + ".resources.somefile.mp3");
// Then play the sound, or display the text file
在Windows上,您可以將信息存儲在單獨的NTFS流中的同一文件中。 在命令窗口中,試試這個實驗:
NOTEPAD C:\temp\MyFile.mp3
NOTEPAD C:\temp\MyFile.mp3:notes.txt
這裏是如何做到這一點programaticaly一些微軟的API文檔: http://support.microsoft.com/kb/105763
在Linux上,這是ReiserFS文件系統可用,但我不知道EXT3。 在這個頁面上,他們張一兵同志商榷存儲額外的信息二進制MP3數據: http://www.linuxquestions.org/questions/linux-general-1/ntfs-vs-ext-file-systems-78636/
祝你好運, 吉日
請注意,Windows 8不支持命名流:[爲Windows構建下一代文件系統:ReFS](http://blogs.msdn.com/b/b8/archive/2012/01/16/building-在的下一代文件系統的換窗戶,refs.aspx) – slugster 2012-09-24 10:53:01
無論是使用ID3標籤或創建自己的文件格式。 – SLaks 2012-03-07 22:12:28
您是否想過使用壓縮文件(例如ZIP,RAR)將多個文件打包在一起?你不需要使用任何實際的壓縮,但你也可以使用它。 – Bernard 2012-03-07 22:12:59