CDの保有枚数を教えてください

http://www.kk.iij4u.or.jp/~kondo/wave/
のページを参考にし、WAVファイルの途中から再生させることを試みています。
例えば再生時間2分、サンプリングレート22050、量子化ビット数16ビット、2チャンネルのデータがあったとします。
これを1分の時点から再生したいとします。
ファイルのデータ量は
1秒で必要なバイト数=(量子化ビット数÷8)×チャンネル数 × サンプリング周波数
n秒で必要なバイト数=1秒で必要なバイト数 × n
88200=16÷8×2×22050
10584000=88200×120
10584000がdata部全体のサイズなので、1分の時点から再生させるために半分の5292000から再生しようとしています。しかしこれでは1分の時点から再生されません。
そもそも、途中から再生させようとするときに、真ん中から再生させようとしたときにdata部の真ん中から再生させようとしていること事態が間違いなのでしょうか?

A 回答 (2件)

あってますよ。


ちゃんとヘッダの分とか足してますか?
あと、そうやって決めうちで計算する
のではなくヘッダの中に
データサイズやビットレートが入っているのでそれを参照してください。

この回答への補足

ヘッダー分も考慮しています。
実際のプログラムではデータサイズ、ビットレート等は
ヘッダーより取ってくるようにしています。
それなのにうまくいきません。他に何か考えられることは無いでしょうか?

補足日時:2005/09/01 11:59
    • good
    • 0

リニアPCM・再生時間2分・データが連続(データチャンクが1つだけ)のwavデータがある場合、そのデータ総量の半分の場所(ただしサンプル境界を跨がないように調整)から再生すれば、1分経過時点からの再生になります。



データ総量の半分の場所から再生したのに1分経過時点からの再生になっていないのであれば、前提条件か計算に誤りがあります。

http://oshiete1.goo.ne.jp/kotaeru.php3?qid=1617051

でも指摘しましたが、ヘッダ情報と実際のデータが一致しているかどうかを「あのツールではうまくいった」とか「この方法ではエラーにならない」とかではなく、「ご自分の目で」確かめてみてはいかがでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!