ビルド時に音声ファイルを取り込むには – プログラミング – Home

ビルド時に音声ファイルを取り込むには
 
通知
すべてクリア

[解決済] ビルド時に音声ファイルを取り込むには


den
 den
(@den)
ゲスト
結合: 11年前
投稿: 3
Topic starter  

Visual Studio Professional 2013を使用している者です。OSはWin8.1 (64bit)です。

ビルド時に音声ファイルを実行ファイルへ取り込み、プログラム実行中にその音声を再生
させる方法を探しております。

mciSendStringで、プログラム実行中に実行ファイル外の音声ファイルを開き、再生させ
ることはできるのですが、アプリの配布時に、実行ファイルと音声ファイルをセットで出
さなければならない上に、音声ファイルを改ざんされてしまうおそれがあります。

どうすれば、ビルド時に音声ファイルを取り込めるでしょうか。


引用未解決
トピックタグ
瀬戸っぷ
 瀬戸っぷ
(@瀬戸っぷ)
ゲスト
結合: 18年前
投稿: 178
 

お約束としてはリソースとして取り込む方法ですかね。
サイズによっては実行ファイルのサイズが半端なくでかくなりますけど。

難点は…mciで再生する場合に手間がかかる。というところでしょうか。

http://www13.plala.or.jp/kymats/study/MULTIMEDIA/mciCommand_play.html
の下の方にある欠点とか。
# 一時ファイルとして書き出せばすむことではありますが。
http://support.microsoft.com/kb/155360/ja
ではメモリ上のWAVEとか再生も可能…っぽいので、リソースからも再生は可能と思われます。
LoadResource()やLockResource()でポインタもとれるでしょう。

リソースへの埋め込み方法も検索すれば出てくるハズです。
RT_RCDATAとかキーワードになりますかねぇ…。


返信引用
den
 den
(@den)
ゲスト
結合: 11年前
投稿: 3
Topic starter  

ご返答、ありがとうございます。

いろいろ調べたところ、音声ファイルをプロジェクトのリソースとして読み込み、IDを取
得することができました。

あとは、このIDをどう再生に結びつけるかで悩んでいます。

お示しいただきましたリンク先に記されたmmioInstallIOProcについて調べましたが、理
解できず途方に暮れております。


返信引用
den
 den
(@den)
ゲスト
結合: 11年前
投稿: 3
Topic starter  

毎度です。

試行錯誤した挙句、

PlaySound(MAKEINTRESOURCE(読み込み時に取得したID), AfxGetInstanceHandle(), SND_R
ESOURCE | SND_ASYNC);

にて音を鳴らすことができました。

意外にシンプルでしたので、拍子抜けしました。

お騒がせいたしました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました