HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
0616
まうり音楽再生方法について3解決


まうり

リンク

2006/6/16(Fri) 02:06:28|NO.1123

こんにちわ、まうりです。
音楽ファイル(.mid,.wav,.mp3)を再生したいのですが、

・mmplay
・mci

は何が違うのでしょうか?
過去の掲示板を見れば、MCIはAPI(WINDOWS側の実装)ということですが、
だとすれば、mmplayを使うメリットはなんなのですか?

また、DirectShow,DirectSound,DirectMusic は同じAPIなのに、
MCIと分けられているのはなんでなのですか?

最後に、WIN98以上ではDirectXがほぼ使えるならば、
音楽再生にはDirectXを使うのが一番いい(勝手な想像で)と思うんですが、
それが標準命令にされていないのは、なんでなのですか?

Win側に頼れば、ソースも減るし、動作も軽くなる感じがしますが・・・。

質問ばっかりですいません。



この記事に返信する


I386

リンク

2006/6/16(Fri) 12:46:56|NO.1125

>mmplayを使うメリットはなんなのですか?
mmplayはmciと違ってコンパイル時にPACKしたWAVファイルなんかも再生できます。
あと、mciはデバイスの準備など色々なコマンドがあって初心者には少し難しいですよね。
mmplayはロードしてすぐ再生ができるので、コマンドも覚える必要がなく、簡単です。

>また、DirectShow,DirectSound,DirectMusic は同じAPIなのに、
>MCIと分けられているのはなんでなのですか?
Direct X は多分ゲーム用に開発されたAPIで、
MCIは単純なマルチメディア操作用に作られたものと思います。
ただ単に音を鳴らしたいのに、いちいちDirect Xを使っていたのならそっちの方が
大掛かりで大変なのでは…。

>DirectXを使うのが一番いい(勝手な想像で)と思うんですが、
>それが標準命令にされていないのは、なんでなのですか?
確かに便利にはなりますが、他のDirect Xを使用するプラグインとまれに干渉することも
あります。あと先ほども述べたように、大掛かりになるからではないでしょうか?

まともな回答ができずにすいません。



Drip

リンク

2006/6/16(Fri) 20:09:16|NO.1126

Dripです。

 まうりさん、こんにちは。mmplayとmciの違いについてですが、mmplayはmciのやっていることを
自動化してくれるような命令で、結局のところmciを使用して再生しています。
mmplayで再生されるところを自分でmciを使って書いても全然問題ありませんが、
よく使う効果音の再生やMIDIの再生などを、一々長いmciのスクリプトを書くのは大変面倒です。
そのためよく使うmciの機能の一部を自動化してくれた、mmplay,mmstopなどが用意されています。

>  また、DirectShow,DirectSound,DirectMusic は同じAPIなのに、
> MCIと分けられているのはなんでなのですか?

DirectShow,DirectSound,DirectMusicとMCIは全然違うものだからです。
DirectXのインストールされていない環境で、DirectSoundは使用できませんが、
MCIはWindowsベースで実行される、単純なサウンドシステムです。


> 音楽再生にはDirectXを使うのが一番いい(勝手な想像で)と思うんですが、
> それが標準命令にされていないのは、なんでなのですか?

 勝手な想像はやめましょう。
音楽再生にはDirectXを使うのが一番いいという考えは、完全に間違っています。
DirectSoundを使用することは、高度なゲームプログラムやDVDビデオ再生ソフト等、
高度なサウンドの高速な処理が必須となる目的以外で使用することは、全く好ましくありません。
通常のサウンド再生と比べCPUもかなり消費しますし、その他のDirectXを使用するソフトと
同時に起動させた場合、予期せぬ不具合が発生する事もある上、通常のサウンド再生と比べると
不安定で使用にも手間がかかります。


> Win側に頼れば、ソースも減るし、動作も軽くなる感じがしますが・・・

 これも完全に間違っています。
まず、DirectXはWindowsに頼らないシステムです。ハードウェアに直接処理を投げるため、
処理が高速なのです。
なのでDirectSoundに対応していないハードウェアを使用するマシンでは、
DirectSoundは全く再生されません。もしくはエラーします。
 また、HSPが標準命令でDirectXに対応してしまうと9割以上のユーザーから
反感の声が上がるでしょう。なぜなら、HSPの実行ファイル(EXEファイル)は、
自分のソースを実行するためのランタイムも含んでいるため、DirectXのシステムを
使わないプログラムにもDirectXのシステムを乗せることになってしまいます。
実行ファイルのサイズも無駄にデカくなり、ろくなことがありません。



 ・・・それにしてもなぜhspdxやhgimg3はDirectSoundを搭載しないのだろう・・・。
HSP公式のDirectSoundを使用可能にするプラグインが標準で装備されていない事の方が不思議です。



まうり

リンク

2006/6/18(Sun) 04:11:25|NO.1128

詳しいご説明ありがとうございます。
本当に勘違いしていました。

高度なサウンドやグラフィックを使用したソフトに憧れていました。
実際、プラグインなど使用して簡単に使っていたので、
そういう話を聞けて、とても感謝しています。

DirectXを使用しようかと考えていたのですが、
より多くの方にプレイして頂けるようMCIを使うことにします。

mmplayよりMCIを。勉強になりそうなので・・。
お返事本当にありがとうございました。



ONION software Copyright 1997-2021(c) All rights reserved.