Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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# 如何在播放机中播放音频?_C#_Unity3d - Fatal编程技术网

C# 如何在播放机中播放音频?

C# 如何在播放机中播放音频?,c#,unity3d,C#,Unity3d,这里需要帮助。我不熟悉团结。我正在创建一个基于火箭飞船的游戏,并在我的火箭飞船上附加了一个音频文件。甚至编写了代码,让它在我按下特定按钮时播放 直到昨天,它似乎工作得很好,但由于某种原因,今天我玩游戏时,音频不再播放。我读过文章,也看过视频,但似乎没有一个有用 我试过几种方法,从解除附加和重新附加音频文件到重写代码 public AudioSource audioSource; public void Thrust() { float rotationThisFrame = rcsT

这里需要帮助。我不熟悉团结。我正在创建一个基于火箭飞船的游戏,并在我的火箭飞船上附加了一个音频文件。甚至编写了代码,让它在我按下特定按钮时播放

直到昨天,它似乎工作得很好,但由于某种原因,今天我玩游戏时,音频不再播放。我读过文章,也看过视频,但似乎没有一个有用

我试过几种方法,从解除附加和重新附加音频文件到重写代码

public AudioSource audioSource;

public void Thrust() 
{
    float rotationThisFrame = rcsThrust * Time.deltaTime;

    if (Input.GetKey(KeyCode.W)) 
    {
        rigidBody.AddRelativeForce(Vector3.up * rotationThisFrame);

        if (!audioSource.isPlaying)
            audioSource.Play();

        else
            audioSource.Stop();
     }
}
你在干什么

if (!audioSource.isPlaying)
    audioSource.Play();
else
    audioSource.Stop();
因此,如果
audioSource
正在播放,您可以
停止它!您基本上是在每一帧交替打开和关闭声音,因此您总是只“听到”一帧的声音,然后从音频文件的开头开始


您可能需要将
else
案例添加到周围的检查中,以查找类似

if (Input.GetKey(KeyCode.W)) 
{
    rigidBody.AddRelativeForce(Vector3.up * rotationThisFrame);

    if (!audioSource.isPlaying)
        audioSource.Play();
}
else
{
    audioSource.Stop();
}
当然,假设
声源
是参考,并且
剪辑
设置为现在,按住W键时播放声音,不按住W键时停止声音。

if (!audioSource.isPlaying)
    audioSource.Play();
else
    audioSource.Stop();
因此,如果
audioSource
正在播放,您可以
停止它!您基本上是在每一帧交替打开和关闭声音,因此您总是只“听到”一帧的声音,然后从音频文件的开头开始


您可能需要将
else
案例添加到周围的检查中,以查找类似

if (Input.GetKey(KeyCode.W)) 
{
    rigidBody.AddRelativeForce(Vector3.up * rotationThisFrame);

    if (!audioSource.isPlaying)
        audioSource.Play();
}
else
{
    audioSource.Stop();
}
当然,假设
声源
是参考,并且
剪辑
设置为现在,当按住W键时,它应该
播放
声音,当不按住W键时,它应该
停止