2017-11-18 13 views
0

私はSystem.Media.SoundPlayerをインスタンス化しました。私はそれを使って.wavファイルを再生しようとしています。しかし、このタイトルから拾ったかもしれないので、動作していません(音が出力されていません)。私はC#を使用しており、Visual Studioでコンソールアプリケーションを作成しています。2017 Macここに私のコードです:Visual StudioのSoundPlayer 2017 Macはサウンドを出力しません。

using System; 
using System.Threading; 
using System.IO; // Not needed yet 
using System.Media; 

namespace mathsTestConsoleC 
{ 
    public class OutputClass 
    {  
     public void PlayMusic() 
     { 
     SoundPlayer player = new SoundPlayer 
     { 
      SoundLocation = @"/Users/felix/Projects/mathsTestConsoleC/mathsTestConsoleC/backgroundMusic.wav" 
     }; 

     player.Load(); 
     player.Play(); 
     } 
    } 
} 

(私はplayer.Play();はそれを含んでいるので、あなたが必ずしもplayer.Load();を使用する必要はありませんことを実現しています。)

これはどちらか動作しません:

 public void PlayMusic() 
     { 
      SoundPlayer player = new SoundPlayer 
      { 
       SoundLocation = "/Users/felix/Projects/mathsTestConsoleC/mathsTestConsoleC/backgroundMusic.wav" 
      }; 

      player.Load(); 

      Thread.Sleep(500); 

      if (player.IsLoadCompleted == true) 
      { 
       player.Play(); 
      } 

      else if (player.IsLoadCompleted == false) 
      { 
       Console.WriteLine("player.IsLoadCompleted == false"); 
      } 

      else 
      { 
       Console.WriteLine("player.IsLoadCompleted == not set"); 
      } 

     } 

PlayMusic()と呼ぶと、私のアプリケーションは私が与えた.wavファイルを再生しません。

私はあなたが助けてくれることを願っています!

答えて

1

Monoは、ALSA(Advanced Linux Sound Architecture)固有のlibasound.soライブラリの呼び出しをWindows固有のものに置き換えます。

日時:Macのコンソールアプリケーションからオーディオを再生するhttp://www.alsa-project.org/main/index.php/Main_Page

簡単な方法は、プロセスをシェルとafplayを実行することです:

afplay 

    Audio File Play 
    Version: 2.0 
    Copyright 2003-2013, Apple Inc. All Rights Reserved. 
    Specify -h (-help) for command options 

Usage: 
afplay [option...] audio_file 

そうしないと、Xamarin.Macベースのアプリケーションを作成することができますし、オーディオシステムに完全にアクセスできるので、NSSoundまたはCoreAudioフレームワークを使用できます。

+0

ありがとうございます。それはうまくいく。 –

関連する問題