【问题标题】:How can I play audio in the player?如何在播放器中播放音频?
【发布时间】:2019-06-14 23:00:54
【问题描述】:

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

直到昨天,它似乎还可以正常工作,但由于某种原因,今天我玩游戏时不再播放音频。我读过文章和观看过视频,但似乎没有任何帮助。

我尝试了几件事,从取消附加和重新附加音频文件到重写代码。

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();
     }
}

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    你在做

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

    所以如果audioSource 正在播放,你就可以使用Stop !您基本上是在每一帧交替打开和关闭声音,因此您总是只“听到”一帧的声音,然后从音频文件的开头开始。


    您可能需要将 else 案例添加到您周围的密钥检查中,例如

    if (Input.GetKey(KeyCode.W)) 
    {
        rigidBody.AddRelativeForce(Vector3.up * rotationThisFrame);
    
        if (!audioSource.isPlaying)
            audioSource.Play();
    }
    else
    {
        audioSource.Stop();
    }
    

    当然假设audioSource 是参考并且clip 现在设置它应该在按住W 键时Play 发出声音,当不按住W 时Stop 键。

    【讨论】:

      猜你喜欢
      • 2021-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-13
      • 1970-01-01
      • 2022-08-23
      • 1970-01-01
      相关资源
      最近更新 更多