如果我想有一个文件,同时具有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