掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Windows10でシステム音が邪魔をする (ID:48343)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
[解決]済みですが、 > Windowsフォルダのシステム音が入っているmediaフォルダにアプリの音をコピーして参照したら鳴りました。 この文章が気になりましたので…。 wavファイルが置かれている場所如何によって、そのような事象が発生するのでしたら、 アプリケーションのexeファイル内にリソースとして埋め込んでみてはいかがでしょう? ※ 埋め込みを行った場合、wavファイルがオリジナルではない時、 wavファイルがバイナリに含まれてしまう為、配布などの時はご注意下さい。 ★★★ 手動で行う場合 ★★★ (1) リソースファイルを作る ファイル名を任意の文字列+rc拡張子( 例:Resource.rc ) にする。 HOGEHOGE WAVE "C:\Users\******\Desktop\HogeHoge.wav" ※ リソース識別子 と WAVE文字列、ファイルパスは1文字以上の空白を空ける。 ファイルパスは"ダブルクオーテーションで括った方が確実。 (2) 作ったリソースファイルをDelphiのbinディレクトリに置く。 C:\Program Files (x86)\Embarcadero\Studio\****\bin (3) コマンドプロンプトを管理者権限で立ち上げ brcc32.exe を実行する。 brcc32 Resource.rc [Enter] (4) Resource.resファイルが出来るので、プロジェクトファイルがある自分の場所にコピーする。 ※ これら一連の入力・実行は、バッチファイル等を作り、一気に行った方が楽です。 【VCLコード】 unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, MMSystem; type TForm1 = class( TForm ) Button1 : TButton; procedure Button1Click( Sender : TObject ); private { Private 宣言 } public { Public 宣言 } end; var Form1 : TForm1; implementation {$R *.dfm} {$R Resource.res} // ← これを追加 procedure TForm1.Button1Click( Sender : TObject ); begin PlaySound( 'HOGEHOGE', hInstance, SND_RESOURCE or SND_ASYNC or SND_NODEFAULT ); end; end. ★★★ Delphiのメニューを利用する場合 ★★★ (1) [メニュー] → [リソースと画像] をクリック。 (2) Project1.dprojのリソースダイアログで [追加] ボタンを押下し、wavファイルを登録。 (3) 追加したwavファイル行を選び、リソース識別子を任意の「文字列」を記述(例:HOGEHOGE)、 リソースタイプを「WAVE」にする。 (4) Project1.dprojのリソースダイアログのOKボタンを押して閉じる。 【VCLコード】 unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, MMSystem; type TForm1 = class( TForm ) Button1: TButton; procedure Button1Click( Sender : TObject ); private { Private 宣言 } public { Public 宣言 } end; var Form1 : TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click( Sender : TObject ); begin PlaySound( 'HOGEHOGE', hInstance, SND_RESOURCE or SND_ASYNC or SND_NODEFAULT ); end; end.
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.