2012-03-07 44 views
0

如果我想有一个文件,同时具有Mp3轨道和文本组件,我怎么能在C#中完成这个?音乐和文本在同一个文件C#

具体:我正在创建一个吉他英雄克隆,并且想要一个包含实际声音(MP3)和音符图表(我将其作为文本读取)的文件。我将如何阅读和写这两个东西到同一个文件?

感谢,

泰Rozak

+1

无论是使用ID3标签或创建自己的文件格式。 – SLaks 2012-03-07 22:12:28

+2

您是否想过使用压缩文件(例如ZIP,RAR)将多个文件打包在一起?你不需要使用任何实际的压缩,但你也可以使用它。 – Bernard 2012-03-07 22:12:59

回答

1

定义自己的文件格式?前4个字节定义了多少文本正在跟随....阅读文本。然后文件的其余部分是MP3。

0

通过将构建操作设置为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 
0

在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/

祝你好运, 吉日

+0

请注意,Windows 8不支持命名流:[为Windows构建下一代文件系统:ReFS](http://blogs.msdn.com/b/b8/archive/2012/01/16/building-在的下一代文件系统的换窗户,refs.aspx) – slugster 2012-09-24 10:53:01

相关问题