我想在我的Unity项目中使用NAudio的一些功能,但不知道如何在Unity中安装NAudio。
我尝试了什么:
·使用NugetforUnity,安装Naudio,Naudio.core
· 下载Naudio-Unity.dll,放在assets/Plugin/
当我在场景中的游戏对象上添加脚本时,编写如下代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using NAudio.Wave;
using NAudio.Wave.SampleProviders;
using Naudio-Unity;
public class NewBehaviourScript : MonoBehaviour
{
void Start()
{
for (int n = -1; n < WaveOut.DeviceCount; n++)
{
var caps = WaveOut.GetCapabilities(n);
Debug.Log($"{n}: {caps.ProductName}");
}
}
void Update()
{
}
}
仍然存在编译错误,Unity无法识别WaveOut。对这个问题有帮助吗?提前致谢。
Unity 中的集成 Naudio: 打开您的 Unity 项目并创建一个新的 C# 脚本。
1 在 Visual Studio 中打开 C# 脚本
2 在 Visual Studio 中,转到“工具”>“NuGet 包管理器”>“管理解决方案的 NuGet 包”。
3 在“浏览”选项卡中,搜索“NAudio”并安装包。 (安装版本 1.8.0 因为新版本不能在 Unity 中工作)
4 安装包后,您可以通过在脚本顶部添加以下 using 语句来在脚本中使用 NAudio 库:
using NAudio.Wave;
这是 Github 的通用链接 https://github.com/naudio/NAudio/releases
5 你需要下载 NAudio-1.8.0-Release.ziphttps://github.com/naudio/NAudio/releases/download/NAudio_1.8_Release/NAudio-1.8.0-Release.zip
6 在您的 Unity 项目中,如果尚不存在,请在“Assets”目录中创建一个新的“Plugins”文件夹。
7 将 NAudio.dll 文件和其他文件从 NAudio-1.8.0-Release.zip 复制到“插件”文件夹中。
现在你可以使用NAudio了
此代码示例(如果您使用此示例代码,请不要忘记更改文件路径并检查脚本名称:)):
using UnityEngine;
using NAudio.Wave;
public class AudioPlayer : MonoBehaviour
{
private IWavePlayer wavePlayer;
private WaveStream waveStream;
private string audioFilePath = "D:/Walker Hayes - AA (Official Video).mp3";
void Start()
{
// Create WaveStream obj for stream
waveStream = new Mp3FileReader(audioFilePath);
// Create WaveOut obj for play stream
wavePlayer = new WaveOut();
wavePlayer.Init(waveStream);
wavePlayer.Play();
}
void OnApplicationQuit()
{
//stop play
if (wavePlayer != null)
{
wavePlayer.Stop();
wavePlayer.Dispose();
}
if (waveStream != null)
{
waveStream.Dispose();
}
}
}