Unity는 로컬 .wav 오디오 파일을 로드하고 재생합니다.

Unity는 로컬 .wav 오디오 파일을 로드하고 재생합니다.

UnityWebRequestMultimedia 사용

UnityWebRequestMultimedia를 사용하여 .wav 파일을 로드하고 AudioClip 객체로 변환한 다음 AudioSource를 사용하여 재생합니다. 재생은 코루틴 함수를 사용합니다.
컴퓨터 바탕화면에 test.wav 파일을 로드하고 재생하세요.

Unity 에디터 설정:

Unity 에디터 설정

SpeechManager.cs 파일 코드

// SpeechManager.cs文件
using System;
using System.Collections;
using UnityEngine;
using UnityEngine.Networking;

public class SpeechManager : MonoBehaviour
{
    
    
    /// <summary>AudioSource组件</summary>
    private AudioSource audioSource;

    private void Awake()
    {
    
    
        //获取组件
        audioSource = GetComponent<AudioSource>();
    }

    private void Start()
    {
    
    
        //获取桌面上的test.wav文件(你需要把你的.wav文件放在桌面上并命名为test.wav)(在实际环境中一般使用Application.persistentDataPath + "/test.wav")
        string fileName = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/test.wav";
        //播放
        StartCoroutine(PlayAudio(fileName));
    }

    private IEnumerator PlayAudio(string fileName)
    {
    
    
        //获取.wav文件,并转成AudioClip
        UnityWebRequest www = UnityWebRequestMultimedia.GetAudioClip("file:///" + fileName, AudioType.WAV);
        //等待转换完成
        yield return www.SendWebRequest();
        //获取AudioClip
        AudioClip audioClip = DownloadHandlerAudioClip.GetContent(www);
        //设置当前AudioSource组件的AudioClip
        audioSource.clip = audioClip;
        //播放声音
        audioSource.Play();
    }


}

다른 형식의 오디오를 로드해야 하는 경우 UnityWebRequest www = UnityWebRequestMultimedia.GetAudioClip(“file:///” + fileName, AudioType.WAV);의 AudioType을 다른 형식으로 변경하세요.

참고

Unity audio Android, [Unity3D] Android 로컬 wav 오디오를 읽고 재생하는 방법
Application.pertantDataPath www 로딩 피트

Supongo que te gusta

Origin blog.csdn.net/qq_44284055/article/details/131993516
Recomendado
Clasificación