VB6.0で音声ファイルの開始部分と終了部分を指定時間分削除することは可能でしょうか?
もし出来るのでしたら、教えてください。
音声ファイルもいろいろありますが、すべてバイナリファイルとして扱えます。
音声ファイルのフォーマットを調べ、指定された開始時間と終了時間をファイル上の位置(何バイト目か)を計算して切り貼りすればできるでしょう。
ただ、圧縮系のフォーマットでは難しいかと。展開して展開後のファイルのフォーマットを調べて、切り貼りし、再度圧縮して、ということをすればできるでしょうけど。
非圧縮のWAVなどであればより簡単でしょう。
参照:
http://bb.watch.impress.co.jp/cda/bbword/16386.html
ふるふるさん、コメントありがとうございます!
そして、すいません。
音声ファイルのフォーマットを書き込んでいませんでしたね。^^;
WindowsのWAVEファイル
CCITT μ−Law、8kHz、8ビット、モノラル
になります。
>指定された開始時間と終了時間をファイル上の位置(何バイト目か)を計算して切り貼りすればできるでしょう。
上記の方法をするには、どうすればよいのでしょうか?
コーディング方法など載っているリンクなどご存知でしたら教えていただけると大変助かります。^^
WAVEファイル、ということなので、RIFFファイルフォーマットに従っていることになりますね。
http://www.kk.iij4u.or.jp/~kondo/wave/index.html#pcm
を見るとわかるのですが、
>CCITT μ−Law、8kHz、8ビット、モノラル
はヘッダー部で定義されている内容です。
WAVEファイルの読み取りについてはCですがこれがわかりやすいかと。
http://www13.plala.or.jp/kymats/study/MULTIMEDIA/load_wave.html
ヘッダー情報からブロックサイズを取得し、切り取るときはブロックサイズ単位にするようにして、最後にヘッダーを書きかえればいいかと。
バイナリエディターを用意して、実際のファイルとフォーマットを見比べながら処理を考えていくといいと思います。
ふるふるさん、ありがとうございます。
参考にさせていただきます。^^