• 締切済み

C# MciSendStringでのMP3再生

お世話になります。 MciSendStringを使用して、MP3を再生、停止する方法に、 stopをして、再びplayさせる方法と、pauseをかけてresumeで 再び再生させる方法の二種類がありますが、この二つの 明確な違いはあるのでしょうか。 もし違いがないのであれば、playとstopだけで事足りて しまうような気がするのですが、どうなのでしょうか。 大きな違いがあるようでしたら、教えてください。 よろしくお願いいたします。

みんなの回答

回答No.2

>この二つの明確な違いはあるのでしょうか。 >大きな違いがあるようでしたら、教えてください。 アプリケーションの操作性を設計する場合に、既に世の中に出回っている製品の操作性を引き継ぐのはよくあることです。 まったく新しい操作方法を提案しても、ユーザから「使いにくい」と言われかねないからです。 マイクロソフトでMCIの仕様を設計した人も、同様に世の中に出回っている製品の操作性を参考にしたと考えられます。 もちろん、実際にどのような設計思想でMCIコマンドを決定したのかは、本人に直接来てみないと判りません。 MSDNのMciSendStringの説明とコマンド一覧 http://msdn.microsoft.com/ja-jp/library/cc410496.aspx http://msdn.microsoft.com/en-us/library/ms712587%28VS.85%29.aspx もちろん、この説明もあくまで初期バージョンの説明であり、バージョンアップの際に密かに機能が追加されている(そしてMSDNは更新されていない)可能性が有ります。

tatapatank
質問者

お礼

丁寧な回答、ありがとうございます。 操作性云々はまぁ別として、コードを組む上で、 内部的に行っていることがstopもpauseも同じなら、 stopを使った方がいいのではと思っていたわけです。 参考先のページも拝見しましたが、内部で何をやっているかまでは 書いていないため、それならばplay,stopですべてやったって 同じではないかとの判断になりました。 ありがとうございました。

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

>stopをして、再びplayさせる方法と、pauseをかけてresumeで >再び再生させる方法の二種類がありますが、この二つの >明確な違いはあるのでしょうか。 CDプレイヤーなり、コンポなりはお持ちではない…ですか? 再生中に「停止」して「再生」した場合と、「一時停止」して「一時停止解除」した場合の挙動が同じコンポしか持っていないのでしょうか? 「停止」した場合は、現在の再生位置は初期化されるでしょう。 その後「再生」した場合は曲の「先頭」からになるかと。 # 「プレイリストの先頭」からという場合もあるかも知れません。 「一時停止」した場合は、現在の再生位置は保持されます。 その後「一時停止解除」した場合は続きから再生されます。

tatapatank
質問者

補足

せっかくお答えいただいたのに何なのですが…。 私は市販されているプレイヤーの再生、一時停止を 聞いているわけではありません。 MciSendStringでのコードでの内容を聞いているのですが、 >「停止」した場合は、現在の再生位置は初期化されるでしょう。 >その後「再生」した場合は曲の「先頭」からになるかと。 これが行われず、stopで停止しても、再生位置が0に 戻るわけではなく、停止位置を機記憶しています。 そのために質問をしたわけですが…。 きちんと質問を読んでいらっしゃいますか? コードを実際に試されましたか? 解った上で答えていますか? 申し訳ありませんが、一方的な『~だろう』という 程度の回答はおやめいただきたく存じます。

関連するQ&A

専門家に質問してみよう