2012-03-07 8 views
0

Mp3トラックとテキストコンポーネントの両方で1つのファイルを作成したいのであれば、C#でこれをどのように達成できますか?同じファイル内の音楽とテキストC#

具体的には:私はギターヒーロークローンを作成しており、実際のサウンド(MP3)とノートチャート(テキストとして読む)の両方で1つのファイルが必要です。この2つのことを同じファイルに読み書きするにはどうすればいいですか?

おかげで、

のTy Rozak

+1

は、ID3タグを使用するか、独自のファイル形式を作成してください。 – SLaks

+2

圧縮ファイル(ZIP、RARなど)を使用して複数のファイルをまとめて使用することについて考えましたか?実際の圧縮を使用する必要はありませんが、それを利用することもできます。 – Bernard

答えて

1

は、独自のファイル形式を定義しますか?最初の4バイトは、どのくらいのテキストが続くかを定義しています....テキストを読んでください。その後、残りのファイルはMP3です。

0

ビルドアクションを埋め込みリソースに設定することで、それらをアセンブリとしてリソースに埋め込むことができます。

// 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を行う方法にいくつかのMicrosoftのAPIドキュメントです:Linuxの http://support.microsoft.com/kb/105763

、これは、ReiserFSのでは利用可能ですが、わからないですext3。このページ は、彼らがバイナリMP3データのための余分な情報を格納dicussingされています 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-次世代ファイルシステムのためのwindows-refs.aspx) – slugster