2009-07-04 13 views
0

私はappln.nowを通じて.wavを再生するためのコードを実行しました。私は を通してmp3ファイルを再生したいと思います。 herer i .netフレームワーク1.1のみオーディオファイルを再生

+0

質問が間違っています。 mp3の部分を見逃しました... –

答えて

3

.NET Framework 1.1をお持ちの場合唯一、おそらくあなたの最善のアプローチは、mciSendCommand

[DllImport("winmm.dll")] 
private static extern long mciSendString(
     string strCommand, StringBuilder returnString, 
     int returnBufferLength, IntPtr callback); 

void PlayFile(string mp3FileName) 
{ 
    string deviceType = "MPEGVideo"; 
    string fileName = mp3FileName; 
    string alias = "MyMp3File"; 
    string playCommand = string.Format("open \"{0}\" type {1} alias {2}", 
          fileName, deviceType, alias); 
    mciSendString(playCommand, null, 0, IntPtr.Zero); 
    playCommand = string.Format("play {0} from 0", alias); 
    mciSendString(playCommand, null, 0, IntPtr.Zero); 

    // send these when you are finished 
    // playCommand = "stop MyMp3File"; 
    // playCommand = "close MyMp3File"; 
} 
+0

thanx mark heath –

1

NAudioを試すことができます。それ以外の場合は、Interopを使用してネイティブライブラリを使用することも考えられます。

+0

NAudioは2.0とコンパイルされていますが、1.1に対して必要なビットを再コンパイルすることができます。単に開始および停止できる必要がある場合は、より簡単な方法(MCI文字列の送信など)があります。 –

1

のためにP /呼び出しラッパーを使用することです私はDirectShowのを使用してお勧めしたい - RenderFileのAPIは非常に簡単です。 ThisサイトにはDShowの管理ラッパーが表示されているようです(私はそれを使用していません)。

編集者追加:個人的に私は可能な限りMCI APIから遠ざかります。非常に古いAPIであり、特に信頼できるものではありません。

+0

十分なほど、私はmci APIを自分で使用していません。しかし、RenderFile APIの呼び出し自体は簡単ですが、起動する前に.NETラッパーを作成しなければならないCOMインターフェイスの膨大な量は、大抵の開発者にとっては厄介です。それでも管理されたラッパーへのリンクは非常に役立つように見えます。私の+1。 –

関連する問題