Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 团结:可以';t引用名称空间(甚至不同脚本中的方法)_C#_Visual Studio_Unity3d_Vuforia - Fatal编程技术网

C# 团结:可以';t引用名称空间(甚至不同脚本中的方法)

C# 团结:可以';t引用名称空间(甚至不同脚本中的方法),c#,visual-studio,unity3d,vuforia,C#,Visual Studio,Unity3d,Vuforia,我正在与Vuforia联合构建一个AR项目,并使用AVPro视频的演示版本通过HLS进行流式传输。我只想在跟踪丢失时从Vuforia脚本中的AVPro命名空间中的脚本(使用RenderHeads.Media.AVProVideo)调用Pause()方法,在再次找到跟踪时调用Play()。但是,我无法让编辑器识别RenderHeads.Media.AVProVideo命名空间中的另一个类,甚至无法识别命名空间本身。我认为这与程序集引用或文件夹级别(via)有关,但我似乎不知道如何正确解决它? 我

我正在与Vuforia联合构建一个AR项目,并使用AVPro视频的演示版本通过HLS进行流式传输。我只想在跟踪丢失时从Vuforia脚本中的AVPro命名空间中的脚本(使用RenderHeads.Media.AVProVideo)调用Pause()方法,在再次找到跟踪时调用Play()。但是,我无法让编辑器识别RenderHeads.Media.AVProVideo命名空间中的另一个类,甚至无法识别命名空间本身。我认为这与程序集引用或文件夹级别(via)有关,但我似乎不知道如何正确解决它?

我得到的错误是:

Assets/Vuforia/Scripts/DefaultTrackableEventHandler.cs(14,7):错误CS0246:找不到类型或命名空间名称“Renderheads”(是否缺少using指令或程序集引用?)

我尝试过删除并重新导入AVPro视频演示,更新Visual Studio,重新开始并重建我的项目,但什么都没有

以下是我修改的vuforia脚本的代码(不相关的部分没有发布,只是我添加的内容):

使用UnityEngine;
使用Vuforia;
使用RenderHeads.Media.AVProVideo;
公共类DefaultTrackableEventHandler:MonoBehavior,ITrackableEventHandler
{受保护的媒体播放器;
公共游戏对象响应MediaPlayer;
公共虚拟void Start()
{mediaPlayer=ResponsiveMediaPlayer.GetComponent();}
公共虚拟空间OnTrackingFound()
{mediaPlayer.Play();}
公共虚拟空间OnTrackingLost()
{mediaPlayer.Pause();}}
任何帮助都将不胜感激,谢谢


编辑:已解决!这与脚本编译的顺序有关!我必须将所有AVPro脚本收集到一个文件夹中,然后我创建了一个程序集定义,这样脚本将与Vuforia脚本同时编译,因为它们是在编译之前编译的。要创建程序集引用,请右键单击要引用的脚本文件夹,然后创建>程序集定义。确保选中了自动引用和使用GUID。程序集定义将自动引用其所在文件夹中的所有脚本。接下来,为了能够从Vuforia脚本中引用它,我找到了Vuforiascript.asmdef文件(Vuforiascript程序集定义),并在“程序集定义引用”下的检查器中添加了我刚才创建的文件。我希望这有帮助

相对于“资产”文件夹,
DefaultTrackableEventHandler
脚本的文件夹路径和
Renderheads.Media.AVProVideo
库/脚本的文件夹路径是什么?@Tenretni主脚本的路径(DefaultTrackableEventHandler)是ProjectName/Assets/Vuforia/Scripts/并且Renderheads.Media.AVProVideo库/脚本的路径位于ProjectName/Assets/AVProVideo/Scripts/Components/。AVProVideo是否使用程序集定义?@Tenretni我一直在尝试了解有关程序集和程序集引用的更多信息,以确保我理解您的要求,谢谢你的耐心!在AVPro视频中,我看不到任何以.asmdef、.dll或.exe结尾的文件,如果这是您的意思的话?相对于您的“资产”文件夹,
DefaultTrackableEventHandler
脚本的文件夹路径是什么,以及
Renderheads.Media.AVProVideo
library/scripts的文件夹路径是什么?@Tenretni主脚本的路径(DefaultTrackableEventHandler)是ProjectName/Assets/Vuforia/Scripts/并且Renderheads.Media.AVProVideo库/脚本的路径位于ProjectName/Assets/AVProVideo/Scripts/Components/。AVProVideo是否使用程序集定义?@Tenretni我一直在尝试了解有关程序集和程序集引用的更多信息,以确保我理解您的要求,谢谢您的帮助耐心点!在AVPro视频中,我没有看到任何以.asmdef、.dll或.exe结尾的文件,如果这是你的意思的话?
using UnityEngine;
using Vuforia;
using RenderHeads.Media.AVProVideo;


public class DefaultTrackableEventHandler : MonoBehaviour, ITrackableEventHandler

{   protected MediaPlayer mediaPlayer;
    public GameObject ResponsiveMediaPlayer; 


    public virtual void Start()
    { mediaPlayer = ResponsiveMediaPlayer.GetComponent<MediaPlayer>(); }


    public virtual void OnTrackingFound()
    { mediaPlayer.Play(); } 


    public virtual void OnTrackingLost()
    { mediaPlayer.Pause();   } }