Visual Studio 2017 Mac上的SoundPlayer不输出声音

时间:2017-11-18 20:18:47

标签: c# audio visual-studio-2017 visual-studio-mac soundplayer

我已经实例化System.Media.SoundPlayer并且我(尝试)使用它来播放.wav文件。但是,你可能从这个标题中选择了它,它不起作用(没有输出声音)。我正在使用C#并在Visual Studio 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.Load();,因为player.Play();包含该内容。)

这也不起作用:

        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 个答案:

答案 0 :(得分:1)

Mono用特定于Windows的方法替换ALSA(高级Linux声音架构)特定libasound.so库的调用。

回复:http://www.alsa-project.org/main/index.php/Main_Page

从Mac上的控制台应用播放音频的简便方法是炮制流程并运行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的应用,并且您可以完全访问音频系统,以便使用NSSoundCoreAudio框架。