WAVEファイルでの保存方法

[戻る]
SAN 2004/12/09(木) 10:27:33
音声をWAVEファイルでフォルダに保存したいのですがどのようにすればいいのですか?

シャノン 2004/12/09(木) 11:34:59
waveInXXX 系関数を使うんだと思います。

SAN 2004/12/09(木) 12:06:49
お答えありがとうございます
録音はできるのですが、そのデータを保存すると、エラーが出てしまいます。

     hFile = CreateFile(str,GENERIC_READ | 
GENERIC_WRITE,FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);  
 
     if(hFile != INVALID_HANDLE_VALUE)
     {
     DWORD  dwActBytes;
     int w_size = 40 + nPlaybackBufferLen;
     strcpy(SENDATA.sendBuf, ((char*)pPlaybackBuffer));
     WriteFile(hFile,&SENDATA,w_size,&dwActBytes,NULL);
     CloseHandle(hFile);

こんな感じで保存しようとしているのですが、間違っていますか?

シャノン 2004/12/09(木) 12:24:47
うーん…そのような断片的なコードだけ示されても、答えようが無いですね。
推測するに、pPlaybackBuffer が WAVE データが入ったバッファ、40 というのはヘッダ
のサイズあたりかと思うのですが…
この推測が正解ならば、WAVE データは文字列ではありませんから、strcpy でコピーす
るのは間違いでしょう。

このコードで言えるのはそれくらいのもんです。
こういう掲示板では、よく「現象を再現できる、必要最小限のコードを載せてくださ
い」と言われます。
プログラム全部コピペしても、問題箇所を特定するのが面倒ですし、かと言って、↑の
ようなコードでは少なすぎますね。

SAN 2004/12/09(木) 14:48:26
そうでしたか。
丁寧に答えてくださってありがとうございました。
アドバイスをもとにもう少し考えてみます

SAN 2004/12/09(木) 14:54:55
[[解決]]
すみません!
チェック入れ忘れました!

古いスレッドには追加発言できません。