C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

複数の音を再生したい。


(過去ログ 7 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■5978 / inTopicNo.1)  複数の音を再生したい。
  
□投稿者/ クロウ 二等兵(6回)-(2006/08/25(Fri) 14:30:41)

分類:[C#] 


分類:[C#] 

mciSendStringを使用して、バックにMP3を流し、時折効果音が鳴るような仕様にしたいと思い、プログラムを組んだのですが、一つだけなら再生しますが、二つ目の音が再生しません。

複数の音がなるようにするにはどうすればよいのでしょうか??

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace TUMO
{
public partial class Form1 : Form
{
[DllImport("winmm.dll")]
extern static int mciSendString(string s1, StringBuilder s2, int i1, int i2);
// 返り値 = true @正常終了, false @エラー
// s1 = Sound File Name / Resource ID
// i1 = Instance Handle @SND_RESOURCE
// i2 = Flags(↓)
const int SND_SYNC = 0x00000; // 同期再生 (再生終了後に制御を返す)
const int SND_ASYNC = 0x00001; // 非同期再生(即座に制御を返す)
const int SND_LOOP = 0x00008; // 繰り返し再生
const int SND_FILENAME = 0x20000; // s1 は Sound File Name
const int SND_RESOURCE = 0x40004; // s1 は Resource ID
public Form1()
{
InitializeComponent();
}
int i=0;
int d =0;
int b = 0;
string[] MLABEL = new string[10];
private int sound_open(string file_name)
{
return mciSendString("open \"" + file_name + "\" alias my_sound", null, 0, 8);
}
private void sound_play()
{
mciSendString("play my_sound", null, 0, 0);
}
private void Form1_Load(object sender, EventArgs e)
{
sound_open("./MP3/BGM.mp3");
sound_play();
}
private void button1_Click(object sender, EventArgs e)
{
sound_open("./MP3/kouka.wav");
sound_play();
}

0
引用返信 編集キー/
■5980 / inTopicNo.2)  Re[1]: 複数の音を再生したい。
□投稿者/ ぽぴ王子 伍長(46回)-(2006/08/25(Fri) 15:04:05)
ぽぴ王子 さんの Web サイト

分類:[C#] 

こんにちは。

mciSendString では音を重ね合わせることは出来ません。

このあたりの機能を使ってください。
http://e-words.jp/w/DirectMusic.html
http://e-words.jp/w/DirectSound.html


0
引用返信 編集キー/
■5989 / inTopicNo.3)  Re[2]: 複数の音を再生したい。
□投稿者/ クロウ 二等兵(8回)-(2006/08/25(Fri) 21:43:35)

分類:[C#] 

ぽぴ王子さんありがとうございます。

早速DirectX系列で行こうと思ってやってみたのですが、組み込み方の資料と言うか、サンプルソース等が見つからないので困っています。

やりたいことは簡単で、起動時にBGMを読み込む。ボタンを押した際に効果音を鳴らす。

この二点です。

グーグル先生で少々調べたのですが、どうにもうまく行かない感じなので……。

http://www.atelier-blue.com/program/mdirectx/index.htm

のプログラム意外に良いサンプル等が有れば教えてもらえると助かります。(上記のは打ち込んでみたところデバッグに失敗と出てちょっと困った。

0
引用返信 編集キー/
■5990 / inTopicNo.4)  Re[3]: 複数の音を再生したい。
□投稿者/ 中博俊 神(678回)-(2006/08/25(Fri) 21:58:54)
中博俊 さんの Web サイト

分類:[C#] 

がんばれ!!

0
引用返信 編集キー/
■6067 / inTopicNo.5)  Re[4]: 複数の音を再生したい。
□投稿者/ シン 二等兵(1回)-(2006/08/27(Sun) 14:03:50)

分類:[C#] 

http://fe0r.at.infoseek.co.jp/Doc/midi.htm
AudioVideoPlaybackなら簡単にmp3の再生もできます。
頑張ってください。

0
引用返信 編集キー/
■6093 / inTopicNo.6)  Re[5]: 複数の音を再生したい。
□投稿者/ クロウ 二等兵(9回)-(2006/08/29(Tue) 10:13:15)

分類:[C#] 

シンさん、ありがとうございます。無事解決できました。
AudioVideoPlaybackでメイン音を再生、DirectSoundで効果音発生。
ボタンを押すと音楽発生。

とまぁやりたいことは出来たので終了します。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -