ページ 11

visual c++ 2010 において、音楽ファイルを再生する方法

Posted: 2013年11月12日(火) 21:58
by たーぼ
こんにちは。
かなり初歩的な質問になってしまうとは思うのですが、visual c++ 2010 において、音楽ファイルを再生する方法を教えていただきたいと思い、トピックを投稿させていただきました。
visual c++ 2010 において、フォームにボタンを配置した後、ボタンをダブルクリックすると以下のようなコードが現れ、
「private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {}」
の部分に音楽ファイルを再生するコードを記述すればよいのだろうとは思うのですが、どのようなコードを記述すれば音楽が再生されるプログラムが作れるの分かりません。
いろいろとサイトを見てみたりしたのですが、探し方が悪いのか、方法がよくわかりません。教えていただけると非常に助かります。
よろしくお願いします。

[2] 環境  
 [2.1] OS : Windows
 [2.2] コンパイラ名 : VC++ 2010

[3] その他
 ・どの程度C言語を理解しているか:初心者だと思います。

コード:

 
#pragma once

namespace kari1 {

	using namespace System;
	using namespace System::ComponentModel;
	using namespace System::Collections;
	using namespace System::Windows::Forms;
	using namespace System::Data;
	using namespace System::Drawing;

	/// <summary>
	/// Form1 の概要
	/// </summary>
	public ref class Form1 : public System::Windows::Forms::Form
	{
	public:
		Form1(void)
		{
			InitializeComponent();
			//
			//TODO: ここにコンストラクター コードを追加します
			//
		}

	protected:
		/// <summary>
		/// 使用中のリソースをすべてクリーンアップします。
		/// </summary>
		~Form1()
		{
			if (components)
			{
				delete components;
			}
		}
	private: System::Windows::Forms::Button^  button1;
	protected: 
	private: System::Windows::Forms::Button^  button2;

	private:
		/// <summary>
		/// 必要なデザイナー変数です。
		/// </summary>
		System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
		/// <summary>
		/// デザイナー サポートに必要なメソッドです。このメソッドの内容を
		/// コード エディターで変更しないでください。
		/// </summary>
		void InitializeComponent(void)
		{
			this->button1 = (gcnew System::Windows::Forms::Button());
			this->button2 = (gcnew System::Windows::Forms::Button());
			this->SuspendLayout();
			// 
			// button1
			// 
			this->button1->Location = System::Drawing::Point(13, 67);
			this->button1->Name = L"button1";
			this->button1->Size = System::Drawing::Size(95, 34);
			this->button1->TabIndex = 0;
			this->button1->Text = L"button1";
			this->button1->UseVisualStyleBackColor = true;
			this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
			// 
			// button2
			// 
			this->button2->Location = System::Drawing::Point(163, 67);
			this->button2->Name = L"button2";
			this->button2->Size = System::Drawing::Size(91, 34);
			this->button2->TabIndex = 1;
			this->button2->Text = L"button2";
			this->button2->UseVisualStyleBackColor = true;
			this->button2->Click += gcnew System::EventHandler(this, &Form1::button2_Click);
			// 
			// Form1
			// 
			this->AutoScaleDimensions = System::Drawing::SizeF(6, 12);
			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
			this->ClientSize = System::Drawing::Size(284, 263);
			this->Controls->Add(this->button2);
			this->Controls->Add(this->button1);
			this->Name = L"Form1";
			this->Text = L"Form1";
			this->ResumeLayout(false);

		}
#pragma endregion
	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
			 }
	private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
			 }
	};
}


 

Re: visual c++ 2010 において、音楽ファイルを再生する方法

Posted: 2013年11月12日(火) 22:08
by みけCAT
言語がよくわかりませんが、C++なら

コード:

PlaySound("hoge.wav",NULL,SND_FILENAME | SND_ASYNC);
で再生できるかもしれません。
hoge.wavの部分は、実際のwavファイルへのパスを指定してください。

http://msdn.microsoft.com/ja-jp/library/cc428768.aspx

Re: visual c++ 2010 において、音楽ファイルを再生する方法

Posted: 2013年11月12日(火) 22:39
by softya(ソフト屋)
C言語初心者が、超高難度のC++/CLI言語とCLRフォーム(.NetFrameWorkライブラリ)を使いこなすのは困難だと思います。
あと、マイクロソフトがCLRフォームは使わせたくないみたいなので将来性の面からも避けたほうが良いです。
Win32APIかC#言語への乗り換えを検討してみて下さい。

参考。C#等の方が参考サイトが多いのです。
「MIDI、MP3などの音楽ファイルを再生する: .NET Tips: C#, VB.NET」
http://dobon.net/vb/dotnet/programing/playmidifile.html

Re: visual c++ 2010 において、音楽ファイルを再生する方法

Posted: 2013年11月12日(火) 22:55
by みけCAT
mp3などなら、MCIで再生できるかもしれません。
http://www13.plala.or.jp/kymats/study/M ... _play.html

Re: visual c++ 2010 において、音楽ファイルを再生する方法

Posted: 2013年11月13日(水) 08:24
by naohiro19
ちなみに Visual Studio 2012以降ではC++/CLIの「Windows フォームアプリケーション」は削除されました。

Re: visual c++ 2010 において、音楽ファイルを再生する方法

Posted: 2013年11月16日(土) 19:57
by たーぼ

コード:

System::Media::SoundPlayer ^p = gcnew System::Media::SoundPlayer("C:\\Windows\\Media\\chimes.wav");
p->Play();
と入力したところ音楽ファイルが再生されました。

みなさんのおっしゃるように、C#を勉強していこうと思います。
ありがとうございました。