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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
たーぼ

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

#1

投稿記事 by たーぼ » 11年前

こんにちは。
かなり初歩的な質問になってしまうとは思うのですが、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) {
			 }
	};
}


 

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

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

#2

投稿記事 by みけCAT » 11年前

言語がよくわかりませんが、C++なら

コード:

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

http://msdn.microsoft.com/ja-jp/library/cc428768.aspx
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

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

#3

投稿記事 by softya(ソフト屋) » 11年前

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

参考。C#等の方が参考サイトが多いのです。
「MIDI、MP3などの音楽ファイルを再生する: .NET Tips: C#, VB.NET」
http://dobon.net/vb/dotnet/programing/playmidifile.html
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

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

#4

投稿記事 by みけCAT » 11年前

mp3などなら、MCIで再生できるかもしれません。
http://www13.plala.or.jp/kymats/study/M ... _play.html
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

naohiro19
記事: 256
登録日時: 14年前
住所: 愛知県

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

#5

投稿記事 by naohiro19 » 11年前

ちなみに Visual Studio 2012以降ではC++/CLIの「Windows フォームアプリケーション」は削除されました。

たーぼ

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

#6

投稿記事 by たーぼ » 11年前

コード:

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

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

閉鎖

“C言語何でも質問掲示板” へ戻る