1

Windows で LibSoX を使用して 2 つの wav ファイルを混在させようとしています。これを行うには、次のコマンドを使用してコマンド ラインから sox を使用します。

sox -m f1.wav f2.wav out.wav

ただし、C/C++ 関数を使用し、LibSoX とリンクして、プログラムでこれを実行したいと考えています。私は LibSoX のビルドに成功し、2 つのオーディオ ファイルの「ミックス」をカバーしないサンプル プログラムを試しました。

誰かがこれを以前にやったことがありますか?LibSoX呼び出しを使用してこれを行うためのコードスニペットまたは少なくともいくつかのポインターを提供できれば素晴らしいでしょう

4

2 に答える 2

2

上記の問題に対して私が作成した解決策(回避策)を共有したいと思います。基本的に、ミキシングはエクスポートされた関数呼び出しとして公開されません。もちろん、ミキシングはコマンドラインを介して実行できるため、2つの解決策があります。1)プログラムを介してプロセス(sox.exe)を生成し、2)libsoxを介して。ミキシング関数を呼び出す関数がプロセスを生成できなかったため、libsoxベースのソリューションが必要でした(制約)。そこで、メイン関数の機能をsoxからエクスポートしたlibsoxの新しいメソッドに移動しました:)。これで、同じコマンドラインスイッチを関数に渡して、libsoxを使用して作業を完了することができます。これは、Chris Bagwellがlibsoxのミキシング(およびその他の欠落している)機能を公開するまでは、理想的には「回避策」になります。

于 2013-01-07T14:15:00.783 に答える