0
我想將多聲道(2,8或16)wav文件拆分爲其聲道,並將每個聲道保存在另一個wav-File中。libsox拆分多聲道wav至單聲道
到目前爲止,我已經完成了在我的C++,Objective C++項目中啓動並運行libsox。
Libsox心不是有據可查,有AREN關於如何做到這一點:(
我開始先開擴的Inputfile中
sox_format_t * in, * out;
assert(sox_init() == SOX_SUCCESS);
assert(in = sox_open_read((const char*)filename.c_str(),NULL,NULL,NULL));
現在,我必須找到一種方式來獲得的信道數很多例子這個文件的。然後,我必須創造出文件相同的量和節省每通道本身裏面他們。
怎麼辦?
謝謝!
你可能libsndfile考慮代替。 –
感謝您的建議,但我剛剛閱讀,libsndfile無法做到這一點。 問題5:爲什麼libsndfile沒有交織/去交織? 這個問題比起初看起來要大。 對於立體聲文件,簡單的交織/解交織可以滿足大多數用戶是一個相當安全的選擇。但是,對於超過2個頻道的文件,情況不太可能如此。如果用戶有一個4通道文件,並且想要在立體聲輸出聲卡上播放該文件,他們要麼需要前2個通道,要麼需要混合組合4個通道。 – hmrc87
關於文檔,[git repository](http://sox.git.sourceforge.net/git/gitweb.cgi?p=sox/sox;a=tree)中的例子可能會有所幫助,它們在'的src /示例* C'。還有[libsox(3)](http://sox.sourceforge.net/libsox.html),儘管它有點稀疏。 – Thor