[過去ログ] Delphiゲームプログラミング相談室 (976レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
61
(5): 名前は開発中のものです。 [] 02/01/21 12:21 ID:cvZI6toD(1) AAS
delphiで、効果音とかの短いwavを、いったんメモリに読み込んで鳴らそうて思ってるんですが
なかなか上手くいかないんで教えろ。
今のところ
sndPlaySound(Pchar('koukaon.wav'),SND_ASYNC)
ってなってるところ、最後のパラメーターをSND_MEMORYって書き換えたいんだけど
そうするとファイル名のところをポインタ型にしなくちゃいけないらしんだよ。windows的に。
で、filestreamとか使ってwavfile読み込んだ変数のポインタ渡そうとしても
型が違いますとかコンパイラの人に怒られちゃうんですが、
どうしたら良いんでしょうか?
フサギコさん教えて!
63
(2): 名前は開発中のものです。 [sage] 02/01/21 15:52 ID:??? AAS
>>61
 function load(fn: string): string;
 var
  fs: TFileStream;
  ss: TStringStream;
 begin
  result := '';

  fs := TFileStream.Create(fn, fmOpenRead);
  try
   ss := TStringStream.Create('');
   try
    ss.CopyFrom(fs, fs.Size);
    result := ss.DataString;
   finally
    ss.Free;
   end;
  finally
   fs.Free;
  end;
 end;
こんなコードを使って
s: string;
s := load('gikohahaha.wav');
sndPlaySound( pchar(s), SND_MEMORY or SND_ASYNC );
とか。
65: 61 [sage] 02/01/21 23:34 ID:??? AAS
>>Delフサギコ
ム板はなんだか敷居が高く感じられるので(;´Д`)コワヒ。。。

>>63
無事動きました。(゚д゚)ウマー
えーと、いったんTStringStreamに読み込んで。。。
(;´Д`)理解するまでもう少し時間をください。
これから研究してみます。
ありがとうございました。
67: 61 [sage] 02/01/22 03:00 ID:??? AAS
いや、問題は
windowsはポインタを要求してるのに
delphiのコンパイラの型チェックが
string型しか通しませんぞゴルァ
と言ってるんで、どうしたものかと。。。

あれ、ひょっとして単に型キャストすれば良いのか?
pointerをPCharにキャストってできるもんなの?
70: 61 [] 02/01/22 03:31 ID:ygXI2h8+(1/2) AAS
━━━━━━(゚д゚)━━━━━━ !!

お騒がせしました。忘れてください。

//でも処理落ちの原因は別のことらしいことがわかっただけでも収穫。
71: 61 [] 02/01/22 03:37 ID:ygXI2h8+(2/2) AAS
ていうか普通にポインタ渡せるじゃん。今やってみたら。
【謎】何で前やったときできないと思ったんだろう。【馬鹿】
というわけで逝ってきます。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.057s