0
.......
.......

var mixer = new WaveMixerStream32();
mixer.AutoStop = true;

var messageOffset = background.TotalTime;
var messageOffsetted = new WaveOffsetStream(message, 
                                         TimeSpan.FromSeconds(10), 
                                         TimeSpan.Zero,message.TotalTime.Subtract(TimeSpan.FromSeconds(10)));             

var background32 = new WaveChannel32(background);
background32.PadWithZeroes = false;
background32.Volume = 0.6f;               
mixer.AddInputStream(background32);

var message32 = new WaveChannel32(messageOffsetted);
message32.PadWithZeroes = false;
message32.Volume = 0.3f;
mixer.AddInputStream(message32);

var ws = new Wave32To16Stream(mixer);

複数の mp3 ファイルと wave ファイルを組み合わせて、最終的に 1 つの MP3 を作成しようとしています。

例: 5 つのソース ファイル (3 つの mp3 ファイル、2 つの wave ファイル)

各ストリームの入力を WaveMixerStream32 に渡し、最終的に Wave32To16Stream を使用して変換します

この最終ストリームを MP3 に変換する必要があります。このために、LAME を使用し、ストリームを EncodeMixedStreamAsMp3 に渡します。これは、「無効なファイル形式」というエラーを返します。

調査の結果、混合ウェーブ ストリームで RIFF ヘッダーが欠落していることがわかりました。

複数のソース (MP3 と WAVE) に基づいて生成された混合ウェーブ ストリームに RIFF を追加する方法は?

4

1 に答える 1