コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】エディタ拡張で AudioClip を再生する方法

ソースコード

using System;
using System.Reflection;
using UnityEditor;
using UnityEngine;

public static class EditorUtils
{
    public static void PlayClip( AudioClip clip )
    {
        var unityEditorAssembly = typeof( AudioImporter ).Assembly;
        var audioUtilClass = unityEditorAssembly.GetType( "UnityEditor.AudioUtil" );

        var method = audioUtilClass.GetMethod
        (
            "PlayClip",
            BindingFlags.Static | BindingFlags.Public,
            null,
            new Type[] { typeof(AudioClip) },
            null
        );

        method.Invoke( null, new object[] { clip } );
    }
}

関連記事