質問

私はログラム:グローバルサーベイと応用クライアントまで、フルのC#と録音ファイル(*.wav)を自動的にタグとして名前を付けます。Waveファイルのリファイル(AVI)を含むことができたメタデータチャンクのほかに、波形データチャンク.うっそうとしていることをどのように読み書きのリフのメタデータ記録波ファイルです。

を使用していNAudio記録のファイルのように そのフォーラム として もので 方への読み書きリフタグです。ながら頂いた多くの良い回答なしのソリューションや可読 書きリフトチャンクとして簡単と思います。

も嬉しかったのは、非常に経験の少ない対応のファイルをバイトレベルと考えていることができます。どうやったらかしていきたい書面に自分のクラス(es)で読み込み、リファイルをメタデータ読み込まれる、書からのファイルです。

に使用しましたストストリームのスレッドセーフで、C#、ずっと全体のストリームです。それで私は少し失われたというファイルにバイトをバイトになります。具体的にはどのように行って削除についてを挿入したバイトの中のファイルとは何ですか?されたファイル読み込みを通じてFileStreamへのバイト配列(byte[])をコードします。

System.IO.FileStream waveFileStream = System.IO.File.OpenRead(@"C:\sound.wav");
byte[] waveBytes = new byte[waveFileStream.Length];
waveFileStream.Read(waveBytes, 0, waveBytes.Length);

よく眺めることができ、Visual Studioのデバッガのバイトのリフヘッダのファイルです。alt text

が配列の痛みが行動することで変化するサイズのような抜き差し。そうしのbyteバッファがダイレクトバッファをリストアップ。

List<byte> list = waveBytes.ToList<byte>();

うずの操作ファイルのバイトをバイト全体の多くやりやすいのですが、私のことがございました何かが足りないようにクラスのシステム。IO名前空間にしてしまうようなこともあります。私の選んだ道が正しから、より良い方法だ。付言するとい絶大な関係性とはあまり好きではないのですが対応のポインタの安全なコードブロックのように 内容はこちらからご確認くださ.

ばいのですが 良い記事 のリフト/WAVファイル形式です。

役に立ちましたか?

解決

自分で作ったものではないのだがクライアントまで、フルのC#でもできるので、一部の場所に悪いった視点から:

1)読み上げない体のWAVファイルをメモリにない場合にファイルを自分のファイルやcssをして小さなサイズです。

2)必要がないの挿入、データを記憶です。できたとえばいいの解析ソースファイル、店舗-オフセットの塊読み込むためのメタデータメモリ現在のメタデータの編集ダイアログ;なお、これらに書きリフ-WAVヘッダ、fmtチャンク転送オーディオデータからのソースファイルによる読み書き)-インターネットにより、追加のメタデータ;更新リフ-WAVヘッダを表します。

3)試保存メタデータの末尾のファイルです。この結果は交流のみのタグが必要としない書きの全体のファイルです。

そうであ源に関する作業リフトファイルのC#ソースコードが存在 こちらの.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top